#DML语言
/*
数据操作语言
插入:insert
修改:update
删除:delete
*/
#一、插入语句(经典的一种)
/*
语法:
insert into 表名(列名,....) values (新值,...);
*/
#1.插入的值的类型要与列的类型一致或兼容
SELECT *
FROM `beauty`;
INSERT INTO `beauty`(`id`,`name`,`sex`,`borndate`,`phone`,`photo`,`boyfriend_id`)
VALUES (13,'唐艺昕','女','1990-4-23','18738878777',NULL,2);
#2.不可以为null的列必须插入值,可以为null的列如何插入值?
#方式一
INSERT INTO `beauty`(`id`,`name`,`sex`,`borndate`,`phone`,`photo`,`boyfriend_id`)
VALUES (13,'唐艺昕','女','1990-4-23','18738878777',NULL,2);
#方式二
INSERT INTO `beauty`(`id`,`name`,`sex`,`borndate`,`phone`,`boyfriend_id`)
VALUES (14,'张张张','女','1990-4-23','18738878777',2);
#3.列的顺序是否能够被颠倒--没问题
INSERT INTO `beauty`(`name`,`sex`,`id`,`phone`)
VALUES ('何欢','女','15','17633336666');
#4.列数和值得个数必须匹配
INSERT INTO `beauty`(`name`,`sex`,`id`,`phone`,`boyfriend_id`)
VALUES ('林佳','女','16','17733356666');
#5.可以省略列名,默认所有列,列的顺序和表中列的顺序一致
INSERT INTO `beauty`
VALUES (16,'泡芙','女','1998-12-12','18877779999',NULL,4);
#插入--方式二
/*
insert into 表名
set 列名等于值,列名=值,....
*/
INSERT INTO `beauty`
SET `id`=17,`name`='微微',phone='18877776666';
#两种方式对比
#1.方式一支持一次性插入多行,方式二不支持
INSERT INTO `beauty`
VALUES(18,'鬼鬼','女','1990-5-23','18738878999',NULL,2),
(19,'芳华','女','1990-6-23','18738878333',NULL,3),
(20,'梅梅','女','1999-4-23','18738878888',NULL,1);
#2.方式一支持子查询,方式二不支持
INSERT INTO `beauty`(id,NAME,phone)
SELECT 22,'玲珑','13353335432';
INSERT INTO `beauty`(id,NAME,phone)
SELECT id,`boyName`,'1335388'
FROM boys WHERE id<3;
mysql---插入语句
最新推荐文章于 2022-09-01 15:22:59 发布