1. 程式人生 > 其它 >MYSQL中INSERT用法

MYSQL中INSERT用法

1用法

在標準的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;

2不同點

(1): 如果使用了SET方式,必須至少為一列賦值。如果某一個欄位使用了省缺值(如預設或自增值),這兩種方法都可以省略這些欄位。如id欄位上使用了自增值,上面兩條語句可以寫成如下形式:

INSERT INTO users (name, age) VALUES('姚明',25);
INSERT INTO uses SET name = '姚明', age = 25;

(2)MySQL在VALUES上也做了些變化。
如果VALUES中什麼都不寫,那MySQL將使用表中每一列的預設值來插入新記錄。

INSERT INTO users () VALUES();

如果表名後什麼都不寫,就表示向表中所有的欄位賦值。使用這種方式,不僅在VALUES中的值要和列數一致,而且順序不能顛倒。

INSERT INTO users VALUES(123, '姚明', 25);

如果將INSERT語句寫成如下形式MySQL將會報錯。如:

INSERT INTO users VALUES('姚明',25)

(3)標準的INSERT語句允許一次插入多條資料,set不行

INSERT INTO users (name, age) VALUES('姚明',25),('麥蒂',25)