您好,登錄后才能下訂單哦!
MySQL是一種關系型數據庫管理系統,關系數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度并提高了靈活性。
MySQL所使用的 SQL 語言是用于訪問數據庫的最常用標準化語言。MySQL 軟件采用了雙授權政策,分為社區版和商業版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇 MySQL 作為網站數據庫。
mysql中常用的三種插入數據的語句:
insert into表示插入數據,數據庫會檢查主鍵(PrimaryKey),如果出現重復會報錯;
注意:insert這種簡寫的方式雖然非常簡單,但是Values后面的值必須和表中的類順序對應,且類型要保持一直,即使表中某一個列不需要值也必須賦值為null,比如我們的主鍵id設置的是遞增實際上是不用設置值的,但是使用這種方式必須賦值為null
不推薦的原因:在實際開發中如果使用此方法進行插入數據,后面表進行了改動(比如字段順序改變了)那么整個語句都將報錯,擴展性及其差,且維護起來比較困難
replace into表示插入替換數據,需求表中有PrimaryKey,或者unique索引的話,如果數據庫已經存在數據,則用新數據替換,如果沒有數據效果則和insert into一樣;
REPLACE語句會返回一個數,來指示受影響的行的數目。該數是被刪除和被插入的行數的和。如果對于一個單行REPLACE該數為1,則一行被插入,同時沒有行被刪除。如果該數大于1,則在新行被插入前,有一個或多個舊行被刪除。如果表包含多個唯一索引,并且新行復制了在不同的唯一索引中的不同舊行的值,則有可能是一個單一行替換了多個舊行。
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
以上就是mysql插入語句的方法的詳細內容,更多請關注億速云其它相關文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。