解析mysql中常用的3種插入語句及其區別
發表時間:2023-08-28 來源:明輝站整理相關軟件相關文章人氣:
[摘要]mysql中常用的三種插入數據的語句:1.insert into表示插入數據,數據庫會檢查主鍵(PrimaryKey),如果出現重復會報錯;2.replace into表示插入替換數據,需求表中有PrimaryKey,或者unique索引的話,如果數據庫已經存在數據,則用新數據替換,如果沒有數據效...
mysql中常用的三種插入數據的語句:
1.insert into表示插入數據,數據庫會檢查主鍵(PrimaryKey),如果出現重復會報錯;
2.replace into表示插入替換數據,需求表中有PrimaryKey,或者unique索引的話,如果數據庫已經存在數據,則用新數據替換,如果沒有數據效果則和insert into一樣;
REPLACE語句會返回一個數,來指示受影響的行的數目。該數是被刪除和被插入的行數的和。如果對于一個單行REPLACE該數為1,則一行被插入,同時沒有行被刪除。如果該數大于1,則在新行被插入前,有一個或多個舊行被刪除。如果表包含多個唯一索引,并且新行復制了在不同的唯一索引中的不同舊行的值,則有可能是一個單一行替換了多個舊行。
3.insert ignore表示,如果中已經存在相同的記錄,則忽略當前新數據;
下面通過代碼說明之間的區別,如下:
create table testtb(
id int not null primary key,
name varchar(50),
age int
);
insert into
testtb(id,name,age)values(1,"bb",13);
select * from testtb;
insert ignore into
testtb(id,name,age)values(1,"aa",13);
select * from testtb;//仍是1,“bb”,13,因為id是主鍵,出現主鍵重復但使用了ignore,則錯誤被忽略
replace into
testtb(id,name,age)values(1,"aa",12);
select * from testtb; //數據變為1,"aa",12
【相關推薦】
1. 分享insert into語句優化的小技巧
2. 分享一條insert語句批量插入多條記錄教程
以上就是解析mysql中常用的三種插入語句及其區別的詳細內容,更多請關注php中文網其它相關文章!
學習教程快速掌握從入門到精通的SQL知識。