SQL的update語句怎么寫
UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值,update語句的寫法:
1、UPDATE table_name
2、SET column1=value1,column2=value2,。
3、WHERE column(1)=value(1),column(2)=value(2)。and column(n)=value(n);
4、UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing',WHERE LastName = 'Wilson'
擴展資料
SQL的update語句寫法的特點
1、一體化:SQL集數據定義DDL、數據操縱DML和數據控制DCL于一體,可以完成數據庫中的全部工作。
2、使用方式靈活:它具有兩種使用方式,即可以直接以命令方式交互使用;也可以嵌入使用,嵌入到C、C++、FORTRAN、COBOL、JAVA等主語言中使用。
3、非過程化:只提操作要求,不必描述操作步驟,也不需要導航。使用時只需要告訴計算機“做什么”,而不需要告訴它“怎么做”。
4、語言簡潔,語法簡單,好學好用:在ANSI標準中,只包含了94個英文單詞,核心功能只用6個動詞,語法接近英語口語。
參考資料來源:搜狗百科—update (數據庫SQL語法用語)
關于SQL的update語句
如果所有字段都重復,而且系統不提供ROWID等隱藏列,或者RECNO()等函數,或者不能使用LIMIT 1指定只更新一條記錄,那么你確實沒有辦法只處理里面的一條記錄。
INFORMIX等數據庫為每一條記錄都增加了一個隱藏不可以刪除和修改的字段--ROWID,利用這個字段可以指定處理某一條記錄。
FOXPRO的數據庫,可以使用函數RECNO()返回記錄號,可以指定RECNO()值進行處理指定的記錄。
MYSQL數據庫的SQL語句可以使用LIMIT 1來指定(DELETE或者UPDATE)只操作前面的第一條數據。
如果你不是以上數據庫,也沒有這些東西支持,建議你給表增加一個自動編碼的字段,然后就可以使用此字段進行操作了。
SQL語句UPDATE指令是什么
我們有時候可能會需要修改表格中的資料。
在這個時候,我們就需要用到 UPDATE 指令。這個指令的語法是: UPDATE "表格名" SET "欄位1" = [新值] WHERE {條件} 最容易了解這個語法的方式是透過一個例子。
假設我們有以下的表格: Store_Information 表格 store_nameSalesDate Los Angeles$1500Jan-05-1999 San Diego$250Jan-07-1999 Los Angeles$300Jan-08-1999 Boston$700Jan-08-1999 我們發現說 Los Angeles 在 01/08/1999 的營業額實際上是 $500,而不是表格中所儲存的 $300,因此我們用以下的 SQL 來修改那一筆資料: UPDATE Store_Information SET Sales = 500 WHERE store_name = "Los Angeles" AND Date = "Jan-08-1999" 現在表格的內容變成: Store_Information 表格 store_nameSalesDate Los Angeles$1500Jan-05-1999 San Diego$250Jan-07-1999 Los Angeles$500Jan-08-1999 Boston$700Jan-08-1999 在這個例子中,只有一筆資料符合 WHERE 子句中的條件。如果有多筆資料符合條件的話,每一筆符合條件的資料都會被修改的。
我們也可以同時修改好幾個欄位。這語法如下: UPDATE "表格" SET "欄位1" = [值1], "欄位2" = [值2] WHERE {條件}。
update sql語句
"update prouct set "&_
"pname='" & pname & "'," &_
"price=" & price & "," &_
"pimg='" & pimg & "'," &_
"pdesc='" & pdesc & "'" &_
" where prouctID=" & pid
每個地方加逗號, 有的變量是字符串,則要記得加單引號哦!
還有,加單引號的字符串變量必須保證是不為空,
否則,在ACCESS里,會出現無效命令錯誤哦!
原因:當字符串變量為空時,就會出現 '' 兩個單引號的情況,
兩個單引號在ACCESS命令里,當作一個單引號處理,所以就會出錯!
如何優化一條UPDATE語句
考試大Oracle站整理: 最近見到一條開發人員寫的UPDATE語句, 覺得沒什么不對, 可又覺得有地方不對, 因為性能低下。
UPDATE A SET (COL2, COL3) = (SELECT COL1,'T' FROM B WHERE *1=*1) WHERE EXISTS (SELECT *1 FROM B WHERE *1=*1) 也就更新幾十萬條記錄, 沒這么慢的啊. 最后發現這個SQL語句可以簡化為如下. UPDATE A SET COL2=COL1, COL3='T' WHERE EXISTS (SELECT *1 FROM B WHERE *1=*1) 說明還有很多可以提高的地方。
SQL 中UPDATE用法
Update是一個數據庫SQL語法用語,用途是更新表中原有數據,單獨使用時使用where匹配字段。
語法為:UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值 例如:Update table_name Set column_name = new_value Where column_name = some_value 擴展資料 update使用注意事項: 1、sp_updatestats可以更新統計信息到最新。 2、低內存會導致未被客戶端連接的查詢計劃被清除。
3、修改表結構,修改索引后,查詢計劃會被清除,可以再修改后運行幾遍查詢。 4、使用update時候,order by 會影響查詢速度,where中使用函數則會調用篩選器進行掃描,掃描表要盡量避免。
參考資料來源:百度百科—update。
mysql中的update語句怎么寫
首先,單表的UPDATE語句:
UPDATE [LOW_PRIORITY] [IGNORE] tbl_name
SET col_name1=expr1 [, col_name2=expr2 。]
[WHERE where_definition]
[ORDER BY 。]
[LIMIT row_count]
其次,多表的UPDATE語句:
UPDATE [LOW_PRIORITY] [IGNORE] table_references
SET col_name1=expr1 [, col_name2=expr2 。]
[WHERE where_definition]
update語句作為mysql更新語句,set后面緊接著的是需要更新的列明和想要更新的值where后面限定更新的條件,order by根據某一個字段排序后,將會由排序后由上到下逐條更新,limit將會限制更新的條數.
SQL UPDATE語句怎么寫
5 將A表中的某個字段的是更新為B表中某個字段的值,條件是A表中的某個字段=B表中某個字段相等 補充: 將A表中的某個字段的值更新為B表中某個字段的值,條件是A表中的某個字段=B表中某個字段 補充: Update ddtj Set cgry = (Select xdry From cght Where * = *)
消息512,級別 16,狀態 1,第 1 行
子查詢返回的值不止一個。當子查詢跟隨在 =、!=、= 之后,或子查詢用作表達式時,這種情況是不允許的。
語句已終止。 滿意答案豬哥□37級2009-05-06update B set col1=* from A where A.x=b.X 補充: update table2 set cname=a.B from table1 as a,table2 as b where a.C=* 補充: update ddtj set cgry=* from ddtj a,cght b where *=* 其他回答(3)loveDream/ty6級2009-05-06update B set Ba=(select Aa from A where Ab=(select Bb from B))/aiq獲利非爾4級2009-05-06MS SQL SERVER的寫法UPDATE ASET A1 = B1
sql update 語句
按你這個腳本直接改:
create trigger update_student on student
for update
as
begin
declare @班級 int
select @班級=班級 from inserted
update class set 人數 = 人數 + @@rowcount
where 班級=@班級
select @班級=班級 from deleted
update class set 人數 = 人數 - @@rowcount
where 班級=@班級
end
inserted是剛剛增加的整行,deleted是剛剛刪除的整行數據
沒有updated,update的過程就是先delete,再insert,所以用inserted和deleted能表達update的過程了
另外你這個觸發器只能對更新結果是1個班級的有效,如果是多個班級,在select @班級=班級 from inserted這句上會報錯
最好的辦法還是
create trigger update_student on student
for update
as
begin
update class set 人數 = 人數 + 人數_add
from (select 班級,count(1) as 人數_add from inserted group by 班級) b
where class.班級=b.班級
update class set 人數 = 人數 - 人數_min
from (select 班級,count(1) as 人數_min from deleted group by 班級) b
where class.班級=b.班級
end
轉載請注明出處華閱文章網 » updatesql語句