今天用mysql插入联表数据遇见了一些问题,于是整理一下mysql插入语句。
语法
方式一
INSERT INTO
表名(列名,...)
VALUES
(值1,...);
方式二
INSERT INTO
表名
SET
列名=值,
列名=值,
...
注意:
1.插入的值的类型要与列的类型一致或兼容
2.not null的列必须插入值,可以为default null的列如何插入值
3.列的顺序可以调换
4.列数和值的个数必须一致
5.可以省略列名,默认所有列,而且列的顺序和表中列的顺序一致
方式一插入多行
INSERT INTO
beauty
VALUES(13,'唐艺昕','女','1990-4-23','18988888888',NULL,2),
(13,'唐艺昕','女','1990-4-23','18988888888',NULL,2),
(13,'唐艺昕','女','1990-4-23','18988888888',NULL,2);
方式二(可用于联表插入,id为外键时)-插入多行
INSERT INTO
beauty(id,NAME,phone)
SELECT
id,
boyname,
'1234567'
FROM
boys
WHERE
id<3;
方式二(可用于联表插入,id为外键时)-单行插入(查询语句的末尾行数据)
SELECT @id := id FROM beauty WHERE NAME in('生','生11');
INSERT INTO beauty (id,name)
VALUES
(@id,'111');