《Mysql實例mysql update語句的用法詳解》要點:
本文介紹了Mysql實例mysql update語句的用法詳解,希望對您有用。如果有疑問,可以聯系我們。
MYSQL必讀首先,單表的UPDATE語句:
MYSQL必讀UPDATE [LOW_PRIORITY] [IGNORE] tbl_name
SET col_name1=expr1 [, col_name2=expr2 ...]
[WHERE where_definition]
[ORDER BY ...]
[LIMIT row_count]
MYSQL必讀其次,多表的UPDATE語句:
?
MYSQL必讀UPDATE [LOW_PRIORITY] [IGNORE] table_references
SET col_name1=expr1 [, col_name2=expr2 ...]
[WHERE where_definition]
MYSQL必讀UPDATE語法可以用新值更新原有表行中的各列.
MYSQL必讀SET子句指示要修改哪些列和要給予哪些值.WHERE子句指定應更新哪些行.
如果沒有WHERE子句,則更新所有的行.如果指定了ORDER BY子句,則按照被指定的順序對行進行更新.
LIMIT子句用于給定一個限值,限制可以被更新的行的數目.
MYSQL必讀UPDATE語句支持以下修飾符:
MYSQL必讀1,如果您使用LOW_PRIORITY關鍵詞,則UPDATE的執行被延遲了,直到沒有其它的客戶端從表中讀取為止.
MYSQL必讀2,如果您使用IGNORE關鍵詞,則即使在更新過程中出現錯誤,更新語句也不會中斷.
如果出現了重復關鍵字沖突,則這些行不會被更新.如果列被更新后,新值會導致數據轉化錯誤,則這些行被更新為最接近的合法的值.
MYSQL必讀如果您在一個表達式中通過tbl_name訪問一列,則UPDATE使用列中的當前值.
MYSQL必讀例如,把年齡列設置為比當前值多一:
?
MYSQL必讀例如,對年齡列加倍,然后再進行增加:
?
MYSQL必讀如果您把被已定義為NOT NULL的列更新為NULL,則該列被設置到與列類型對應的默認值,并且累加警告數.
對于數字類型,默認值為0;對于字符串類型,默認值為空字符串('');對于日期和時間類型,默認值為“zero”值.
MYSQL必讀UPDATE會返回實際被改變的行的數目.Mysql_info() C API函數可以返回被匹配和被更新的行的數目,以及在UPDATE過程中產生的警告的數量.
MYSQL必讀您可以使用LIMIT row_count來限定UPDATE的范圍.LIMIT子句是一個與行匹配的限定.
只要發現可以滿足WHERE子句的row_count行,則該語句中止,不論這些行是否被改變.
MYSQL必讀如果一個UPDATE語句包括一個ORDER BY子句,則按照由子句指定的順序更新行.
MYSQL必讀您也可以執行包括多個表的UPDATE操作.table_references子句列出了在聯合中包含的表.
MYSQL必讀例子:
MYSQL必讀說明:以上代碼顯示出了使用逗號操作符的內部聯合,但是multiple-table UPDATE語句可以使用在SELECT語句中允許的任何類型的聯合,比如LEFT JOIN.
MYSQL必讀注釋:不能把ORDER BY或LIMIT與multiple-table UPDATE同時使用.
MYSQL必讀在一個被更改的multiple-table UPDATE中,有些列被引用.您只需要這些列的UPDATE權限.有些列被讀取了,但是沒被修改.您只需要這些列的SELECT權限.
MYSQL必讀如果您使用的multiple-table UPDATE語句中包含帶有外鍵限制的InnoDB表,則MySQL優化符處理表的順序可能與上下層級關系的順序不同.
MYSQL必讀在此情況下,語句無效并被 回滾.同時,更新一個單一表,并且依靠ON UPDATE功能.
該功能由InnoDB提供,用于對其它表進行相應的修改.
MYSQL必讀目前,不能在一個子查詢中更新一個表,同時從同一個表中選擇.
MYSQL必讀update語句的幾種基本用法
MYSQL必讀A. 使用簡單的 UPDATE
MYSQL必讀下列示例說明如果從 UPDATE 語句中去除 WHERE 子句,所有的行會受到什么影響.
MYSQL必讀下面這個例子說明,如果表 publishers 中的所有出版社將總部搬遷到佐治亞州的亞特蘭大市,表 publishers 如何更新.
MYSQL必讀本示例將所有出版商的名字變為 NULL.
MYSQL必讀也可以在更新中使用計算值.本示例將表 titles 中的所有價格加倍.
MYSQL必讀B.把 WHERE 子句和 UPDATE 語句一起使用
WHERE 子句指定要更新的行例如,在下面這個虛構的事件中,北加利福尼亞更名為 Pacifica(縮寫為 PC),而奧克蘭的市民投票決定將其城市的名字改為 Bay City.這個例子說明如何為奧克蘭市以前的所有居民(他們的地址已經過時)更新表 authors.
MYSQL必讀必須編寫另一個語句來更改北加利福尼亞其它城市的居民所在的州名.
MYSQL必讀C.通過 UPDATE 語句使用來自另一個表的信息
本示例修改表 titles 中的 ytd_sales 列,以反映表 sales 中的最新銷售記錄.
MYSQL必讀這個例子假定,一種特定的商品在特定的日期只記錄一批銷售量,而且更新是最新的.如果不是這樣(即如果一種特定的商品在同一天可以記錄不止一批銷售量),這里所示的例子將出錯.例子可正確執行,但是每種商品只用一批銷售量進行更新,而不管那一天實際銷售了多少批.這是因為一個 UPDATE 語句從不會對同一行更新兩次.
MYSQL必讀對于特定的商品在同一天可銷售不止一批的情況,每種商品的所有銷售量必須在 UPDATE 語句中合計在一起,如下例所示:
MYSQL必讀D. 將 UPDATE 語句與 SELECT 語句中的 TOP 子句一起使用
這個例子對來自表 authors 的前十個作者的 state 列進行更新.
MYSQL必讀以上就是mysql update語句用法的全部內容,希望對大家有所幫助.
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/3413.html