DML:数据操控语言
包含:数据插入(insert)、修改(update)、删除(delete)
一、插入语句方式一
语法:
insert into 表名(列名1,……)
values(值1,……);
1、插入的值的类型要与列的类型一致或兼容
INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)
VALUES(13,'唐一','女','1990-4-23','18988889999',NULL,2);
2、不可以为NULL的列必须插入值,可以为NULL的列如何插入值
#方式1
INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)
VALUES(13,'唐一','女','1990-4-23','18988889999',NULL,2);
#方式2
INSERT INTO beauty(id,NAME,sex,borndate,phone,boyfriend_id)
VALUES(13,'唐一','女','1990-4-23','18988889999',2);
3、列的顺序可以调换
INSERT INTO beauty(NAME,id,sex,borndate,phone,boyfriend_id)
VALUES('李四',15,'女','1991-4-21','18388886799',3);
4、列数和值的个数必须一致
否则会出现错误:Column count doesn't match value count at row 1
5、可以省略列名,默认为所有列,且列的顺序与原表中的顺序一致
二、插入语句方式二
语法:
insert into 表名
set 列名1=值1,列名2=值2,……
1、插入的值的类型要与列的类型一致或兼容
insert into beauty
set id=16,name='王五',sex='女'
#两种插入方式比较
1、方式一支持插入多行,方式二不支持
INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)
VALUES(13,'唐一','女','1990-4-23','18988889999',NULL,2)
,(14,'张三','女','1992-4-23',NULL,NULL,3)
,(15,'李四','女','1991-4-21','18388886799',NULL,NULL);
2、方式一支持子查询,方式二不支持
INSERT INTO boys(id,boyName)
SELECT id,`name`
FROM beauty WHERE id BETWEEN 6 AND 8;
#将表beauty中id为6-8的行插入到了表boys中
因此使用方式一更多