1、插入完整的记录 2、插入记录的一部分 3、插入多条记录 4、插入另一个查询的结果
# 为表所有字段插入数据
INSERT INTO table_name ( column_list ) VALUES ( value_list );
CREATE TABLE person( id INT UNSIGNED NOT NULL AUTO_INCREMENT, name CHAR(40) NOT NULL DEFAULT '', age INT NOT NULL DEFAULT 0, info CHAR(50) NULL, PRIMARY KEY (id) )ENGINE=MyISAM DEFAULT CHARSET = utf8;
mysql> INSERT INTO person(id,name,age,info) VALUES (null,'Green',21,'Lawyer'); Query OK, 1 row affected (0.00 sec)
INSERT 语句后面列名称可以不是表中定义的顺序,使用INSERT 插入数据时,允许列明为空
INSERT INTO person VALUES (null,'Mary',23,'Musician');
# 为表的指定字段插入数据
ISNERT INTO person(name,age,info) VALUES ('willam',20,'sports man');
# 同时插入多条记录
每个值列表之间用逗号分隔开
INSERT INTO table_name (column_list) VALUES (value_list1), (value_list2).... (value_listn);
INSERT INTO person(name,age,info)
VALUES ('Evans',27,'secretary'),
('Dale',22,'cook'),
('Edison',28,'singer');
带有AUTO_INCREMENT 属性 的id字段插入 null值 系统会自动新增编号
# 将查询结果插入到表中
INSERT INTO table_name (column_list)
SELECT (column_list2) FROM table_name2 WHERE (condition)
INSERT INTO person_old VALUES (11,'Herry',20,'student') (12,'Beckham',31,'police'); INSERT INTO person(id,name,age,info) SELECT id,name,age,info FROM person_old;