1. 经典插入语句
语法
insert into 表名(列名,... ) values (值)
插入的值的类型要与列的类型一致或兼容
INSERT INTO `beauty` (
`id`,
`name`,
`sex`,
`borndate`,
`phone`,
`photo`,
`boyfriend_id`
)
VALUES
(
13,
'郎乔',
'女',
'1990-4-23',
'15645986734',
NULL,
24
) ;
为null的列插入值
-- 可以向上面一样插入值为null,也可以不写插入的列名和对应的值
INSERT INTO `beauty` (`id`, `name`, `phone`)
VALUES
(14, '杨欣', '18825368679') ;
列的顺序可以交换,但是要与值对应
INSERT INTO `beauty` (`name`, `phone`, `id`)
VALUES
('林静姝', '18825368679', 15) ;
列数和值的个数必须一致
-- 会报错
INSERT INTO `beauty` (`name`, `phone`, `id`)
VALUES
('丁玲', '18825368679') ;
列名可以省略,默认为所有列,且列的顺序与表的顺序一致
INSERT INTO `beauty`
VALUES
(
16,
'杨媚',
'女',
'1990-4-23',
'15645986734',
NULL,
NULL
) ;
2. set插入语句
语法
insert into 表名
set 列名 = 值 ...
INSERT INTO `beauty` SET `id` = 17,
`name` = '方明妤',
`phone` = '18867890987'
总结:
经典的插入语句支持一次性的插入多行(逗号分隔),set方式不支持
INSERT INTO `beauty`
VALUES
(
18,
'凤卿尘',
'女',
'1990-4-23',
'15645986734',
NULL,
NULL
), (
19,
'年璇玑',
'女',
'1990-4-23',
'15645986734',
NULL,
NULL
) ;
经典的插入语句支持子查询,set方式不支持
INSERT INTO `beauty` (`name`, `phone`, `id`)
SELECT
'赵默笙',
'13555678890',
20 ;