MySQL UPDATE更新語句精解第1/4頁

來源:互聯網
上載者:User

一、INSERT和REPLACE
INSERT和REPLACE語句的功能都是向表中插入新的資料。這兩條語句的文法類似。它們的主要區別是如何處理重複的資料。
1. INSERT的一般用法
MySQL中的INSERT語句和標準的INSERT不太一樣,在標準的SQL語句中,一次插入一條記錄的INSERT語句只有一種形式。
INSERT INTO tablename(列名…) VALUES(列值);
而在MySQL中還有另外一種形式。
INSERT INTO tablename SET column_name1 = value1, column_name2 = value2,…;
第一種方法將列名和列值分開了,在使用時,列名必須和列值的數一致。如下面的語句向users表中插入了一條記錄:
INSERT INTO users(id, name, age) VALUES(123, '姚明', 25);
第二種方法允許列名和列值成對出現和使用,如下面的語句將產生中樣的效果。
INSERT INTO users SET id = 123, name = '姚明', age = 25;
如果使用了SET方式,必須至少為一列賦值。如果某一個欄位使用了省缺值(如預設或自增值),這兩種方法都可以省略這些欄位。如id欄位上使用了自增值,上面兩條語句可以寫成如下形式:
INSERT INTO users (name, age) VALUES('姚明',25);
INSERT INTO uses SET name = '姚明', age = 25;
MySQL在VALUES上也做了些變化。如果VALUES中什麼都不寫,那MySQL將使用表中每一列的預設值來插入新記錄。
INSERT INTO users () VALUES();
如果表名後什麼都不寫,就表示向表中所有的欄位賦值。使用這種方式,不僅在VALUES中的值要和列數一致,而且順序不能顛倒。 INSERT INTO users VALUES(123, '姚明', 25);
如果將INSERT語句寫成如下形式MySQL將會報錯。
INSERT INTO users VALUES('姚明',25);
2. 使用INSERT插入多條記錄
看到這個標題也許大家會問,這有什麼好說的,調用多次INSERT語句不就可以插入多條記錄了嗎!但使用這種方法要增加伺服器的負荷,因為,執行每一次SQL伺服器都要同樣對SQL進行分析、最佳化等操作。幸好MySQL提供了另一種解決方案,就是使用一條INSERT語句來插入多條記錄。這並不是標準的SQL文法,因此只能在MySQL中使用。
INSERT INTO users(name, age) VALUES('姚明', 25), ('比爾.蓋茨', 50), ('火星人', 600);
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.