《Mysql學習mysql中update更新語句的用法詳解》要點:
本文介紹了Mysql學習mysql中update更新語句的用法詳解,希望對您有用。如果有疑問,可以聯系我們。
操作數據庫的Sql一般分為二種:
一種是查詢語句,也便是所說的SELECT語句.
一種是更新語句,也叫做數據操作語句.MYSQL入門
本文深入探討下mysql中update更新語句的用法,供年夜家參考.MYSQL入門
一、INSERT和REPLACE
INSERT和REPLACE語句的功能都是向表中插入新的數據.這兩條語句的語法類似.它們的主要區別是如何處置重復的數據.MYSQL入門
1,INSERT的一般用法
MySQL中的INSERT語句和尺度的INSERT不太一樣,在尺度的SQL語句中,一次插入一條記錄的INSERT語句只有一種形式.
?MYSQL入門
而在MySQL中還有另外一種形式.
?MYSQL入門
辦法1,將列名和列值分開了,在使用時,列名必須和列值的數一致.如下面的語句向users表中插入了一條記錄:
?MYSQL入門
辦法2,允許列名和列值成對出現和使用,如下面的語句將產生中樣的效果.
?MYSQL入門
如果使用了SET方式,必須至少為一列賦值.如果某一個字段使用了省缺值(如默認或自增值),這兩種辦法都可以省略這些字段.
如id字段上使用了自增值,上面兩條語句可以寫成如下形式:
?MYSQL入門
MySQL在VALUES上也做了些變化.如果VALUES中什么都不寫,那MySQL將使用表中每一列的默認值來插入新記錄.
?MYSQL入門
如果表名后什么都不寫,就表現向表中所有的字段賦值.使用這種方式,不僅在VALUES中的值要和列數一致,而且順序不能顛倒.
?MYSQL入門
如果將INSERT語句寫成如下形式MySQL將會報錯.
?MYSQL入門
2,使用INSERT插入多條記錄MYSQL入門
記住:調用多次INSERT語句可以插入多條記錄,但會增加服務器的負荷.
原因闡發:執行每一次SQL服務器都要同樣對SQL進行闡發、優化等操作.MYSQL入門
這里分享下mysql的另一種方案:
用一條INSERT語句來插入多條記錄.
這并不是尺度的SQL語法,因此只能在MySQL中使用.MYSQL入門
例句:
?MYSQL入門
以上的INSERT 語句向users表中連續插入了3條記錄.
注意:
上面的INSERT語句中的VALUES后必需每一條記錄的值放到一對(…)中,中間使用","分割.MYSQL入門
假設有一個表table1
?MYSQL入門
如果要向table1中插入5條記錄,下面寫法是差錯的:
?MYSQL入門
MySQL將會拋出下面的差錯
?MYSQL入門
正確的寫法:
?MYSQL入門
當然,這種寫法也可以省略列名,這樣每一對括號里的值的數目必需一致,而且這個數目必需和列數一致.
例如:
?MYSQL入門
3,REPLACE語句MYSQL入門
在使用數據庫時可能會經常遇到這種情況.
如果一個表在一個字段上建立了唯一索引,當再向這個表中使用已經存在的鍵值插入一條記錄,那將會拋出一個主鍵沖突的差錯.MYSQL入門
當然,可能想用新記錄的值來覆蓋原來的記錄值.如果使用傳統的做法,必須先使用 DELETE語句刪除原先的記錄,然后再使用INSERT插入新的記錄.而在MySQL中為提供了一種新的辦理方案,這就是REPLACE語句.使用 REPLACE插入一條記錄時,如果不重復,REPLACE就和INSERT的功能一樣,如果有重復記錄,REPLACE就使用新記錄的值來替換原來的記錄值.MYSQL入門
使用REPLACE的最大好處便是可以將DELETE和INSERT合二為一,形成一個原子操作.這樣就可以不必考慮在同時使用DELETE和INSERT時添加事務等復雜操作了.MYSQL入門
在使用REPLACE時,表中必需有唯一索引,而且這個索引所在的字段不能允許空值,否則REPLACE就和INSERT完全一樣的.MYSQL入門
在執行REPLACE后,系統返回了所影響的行數,如果返回1,闡明在表中并沒有重復的記錄,如果返回2,闡明有一條重復記錄,系統自動先調用了 DELETE刪除這條記錄,然后再記錄用INSERT來插入這條記錄.如果返回的值大于2,那闡明有多個唯一索引,有多條記錄被刪除和插入.MYSQL入門
REPLACE的語法和INSERT非常的相似,如下面的REPLACE語句是插入或更新一條記錄.
?MYSQL入門
插入多條記錄:
?MYSQL入門
REPLACE也可以使用SET語句:
?MYSQL入門
以上曾提到REPLACE可能影響3條以上的記錄,這是因為在表中有跨越一個的唯一索引.MYSQL入門
在這種情況下,REPLACE將考慮每一個唯一索引,并對每一個索引對應的反復記錄都刪除,然后插入這條新記錄. MYSQL入門
歡迎參與《Mysql學習mysql中update更新語句的用法詳解》討論,分享您的想法,維易PHP學院為您提供專業教程。