sql數據庫更新語句
SQL語句中的更新語句update是最常用的語句之一,下面將介紹update語句的三種使用方法,供參考
一、環境:
MySQL-5.0.41-win32
Windows XP professional
二、建立測試環境:
DROP TABLE IF EXISTS t_test;
CREATE TABLE t_test (
bs bigint(20) NOT NULL auto_increment,
username varchar(20) NOT NULL,
password varchar(20) default NULL,
remark varchar(200) default NULL,
PRIMARY KEY (bs)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=gbk;
INSERT INTO t_test VALUES (1,'lavasoft','123456',NULL);
INSERT INTO t_test VALUES (2,'hello',NULL,NULL);
INSERT INTO t_test VALUES (3,'haha',zz,tt);
三、測試
1、set一個字段
在表t_test中設置第二條記錄(bs為2)的password為'***'。
update t_test t
set *rd = '***'
where * = 2;
2、set多個字段
在表t_test中設置第一條記錄(bs為1)的password為'*'、remark為'*'。
update t_test t
set *rd = '*', * = '*'
where * = 1;
3、set null值
在表t_test中設置第三條記錄(bs為3)的password為null、remark為null。
update t_test t
set *rd = null, * = null
where * = 3;
這個是按照標準語法寫的,在不同的數據庫系統中,update還有更多的寫法,但是標準寫法都是支持的。以上三個例子為了說明情況,每次都更新一行。在實際中,可以通過where語句約束來控制更新行數。
數據庫更新語句怎么寫
如果按你的要求需要寫個存儲過程來實現。麻煩。
如果按下面來做的話,會有重復值,
update 表名 set column_no=datepart(day,column_time)
建議你把column_no 按如20090101來更新較方便,這樣能與column_time能對應上。
update 表名 set column_no=(datepart(year,column_time)*100+datepart(month,column_time))*100+datepart(day,column_time)
sql查詢 更新語句怎么寫
1、首先需要打開sql server 數據庫。
2、點擊新建查詢按鈕,進入sql 執行界面。
3、編寫sql 更新語句,update tablename set name='更新' ,點擊執行按鈕。
4、使用查詢語句,檢查是否更新成功,select * from tablename。
5、上面的語句是對數據庫進行批量更新,如果更新指定的信息可以在update 語句后面加上where語句update tablename set name='根據條件更新' where id=1 。
6、使用查詢語句,檢查是否更新成功,select * from tablename where id=1。
數據庫篩選更新語句
B表和A表的行數是不一樣的.
如果不需要合計的, 也就是 A表有 物品ID = 1,2,3 B表有物品ID =2,3,4,5,6
更新只需要把 A表的 物品ID 為 2,3 的 數量,更新到 B 表。
對于 SQL Server 數據庫。
UPDATE
B
SET
B.數量 = A.數量
FROM
A JOIN B ON (A.物品ID = B.物品ID )
如果需要合計的, 也就是 A表有物品ID 為 1,2,2,2,3,3,3 B表有id 2,3,4,5,6
更新只需要把 A表的 id 為 2,3 的多行數量,合計以后,更新到 B 表。
對于 SQL Server 數據庫。
UPDATE
B
SET
B.數量 = AA.數量
FROM
( SELECT 物品ID, SUM(數量) AS 數量 FROM A GROUP BY 物品ID ) AA JOIN B ON (AA.物品ID = B.物品ID )
一個數據庫更新操作的SQL語句
update ClassSubject set AvgScore=*
from ClassSubject a,(select sum(AvgScore) as sas,ClassId,SubjectId from ItemValid group by ClassId,SubjectId) b
where *d=*d and *tId=*tId
如果不行的話就將查詢做一個臨時表
select sum(AvgScore) as sas,ClassId,SubjectId INTO #A from ItemValid group by ClassId,SubjectId
go
update ClassSubject set AvgScore=*
from ClassSubject a,#A b
where *d=*d and *tId=*tId
go