mysql更新代码_mysql update语句的用法
1.??? 單表的UPDATE語句:
UPDATE [LOW_PRIORITY] [IGNORE] tbl_name
SET col_name1=expr1 [, col_name2=expr2 ...]
[WHERE where_definition]
[ORDER BY ...]
[LIMIT row_count]
2.??? 多表的UPDATE語句
UPDATE [LOW_PRIORITY] [IGNORE] table_references
SET col_name1=expr1 [, col_name2=expr2 ...]
[WHERE where_definition]
a.如果您使用LOW_PRIORITY關鍵詞,則UPDATE的執行被延遲了,直到沒有其它的客戶端從表中讀取為止。
b.如果您使用IGNORE關鍵詞,則即使在更新過程中出現錯誤,更新語句也不會中斷。
如果出現了重復關鍵字沖突,則這些行不會被更新。如果列被更新后,新值會導致數據轉化錯誤,則這些行被更新為最接近的合法的值。
eg:
UPDATE beyond SET args1=args1+1
UPDATE賦值被從左到右評估
UPDATE beyond SET args1=args1*2,args1=args1+1
3. 使用簡單的 UPDATE
UPDATE test.beyond b
SET b.args1 = '001', b.args2 = '002'
4. 把 WHERE 子句和 UPDATE 語句一起使用
UPDATE test.beyond b
SET b.args1 = '001', b.args2 = '002'
WHERE b.args1 = '11' AND b.args2 = '22'
5. 通過 UPDATE 語句使用來自另一個表的信息
UPDATE test.beyond b,test.clzss c
SET b.args1 = c.clzssId
WHERE b.args1 = c.userid;
UPDATE titles
SET ytd_sales = titles.ytd_sales + sales.qty
FROM titles, sales
WHERE titles.title_id = sales.title_id
AND sales.ord_date = (SELECT MAX(sales.ord_date) FROM sales)
這個例子假定,一種特定的商品在特定的日期只記錄一批銷售量,而且更新是最新的。如果不是這樣(即如果一種特定的商品在同一天可以記錄不止一批銷售量),這里所示的例子將出錯。例子可正確執行,但是每種商品只用一批銷售量進行更新,而不管那一天實際銷售了多少批。這是因為一個 UPDATE 語句從不會對同一行更新兩次。
對于特定的商品在同一天可銷售不止一批的情況,每種商品的所有銷售量必須在 UPDATE 語句中合計在一起。
UPDATE titles
SET ytd_sales =
(SELECT SUM(qty)
FROM sales
WHERE sales.title_id = titles.title_id
AND sales.ord_date IN (SELECT MAX(ord_date) FROM sales))
FROM titles, sales
6. 將 UPDATE 語句與 SELECT 語句中的 TOP 子句一起使用
UPDATE AUTHORS
SET state = 'ZZ'
FROM
(
SELECT
TOP 10 *
FROM
AUTHORS
ORDER BY
au_lname
) AS t1
WHERE
AUTHORS .au_id = t1.au_id
總結
以上是生活随笔為你收集整理的mysql更新代码_mysql update语句的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python有序队列_【Python】:
- 下一篇: 上海师范大学计算机作业网址,新SQL——