DML语言
/*
数据操作语言
插入:insert
修改:update
删除:delete
*/
一 插入语句
/*
方式一:
语法:
insert into 表名(列名,...)
values (值1,...);
方式二:
/*
语法:
insert into 表名
set 列名=值,列名=值,...
*/
*/
方式一:
1.插入的值的类型要与列的类型一致或者兼容
INSERT INTO beauty(id,name
,sex,borndate,phone,photo,boyfriend_id)
VALUES(13,'唐艺昕','女','1990-4-23','13899999999',NULL,2);
2.不可以为null的值,必须插入值。可以为null的列如何插入值?
-- 方式一:值写null
INSERT INTO beauty(id,name
,sex,borndate,phone,photo,boyfriend_id)
VALUES(13,'唐艺昕','女','1990-4-23','13899999999',NULL,2);
-- 方式二:列和值都可以不写
INSERT INTO beauty(id,name
,sex,borndate,phone,boyfriend_id)
VALUES(14,'金星','女','1990-4-23','13899999999',2);
3.列的顺序可以调换
INSERT INTO beauty(name
,id,phone,sex)
VALUES("大佬",15,'1342121122','女');
4.列和值的个数必须一致。
-- ⚠️ 下面这个错误错,列4个,值3个。
INSERT INTO beauty(name
,id,phone,sex)
VALUES("小佬",17,'1342121122');
5.可以省略列名,默认所有列,而且列的顺序和表的顺序一致.值都不能省略。
INSERT INTO beauty
VALUES(18,'唐222','女','1990-4-23','110',NULL,2);
方式二:
/*
语法:
insert into 表名
set 列名=值,列名=值,...
*/
INSERT INTO beauty
SET id=19,name
='刘涛',phone='112',sex='女';
两种方式大pk
-- 1.方式一支持插入多行,用逗号隔开。方式二不支持
INSERT INTO beauty
VALUES (23,'wu1','女','1990-4-23','110',NULL,2)
,(24,'wu2','女','1990-4-23','110',NULL,2)
,(25,'wu3','女','1990-4-23','110',NULL,2);
-- 2.方式一支持子查询,方式二不支持
INSERT INTO beauty(id,name
,phone)
SELECT 13,'宋茜','111'; -- 查询的常量。
INSERT INTO beauty(id,name
,phone)
SELECT id,boyName,'109'
FROM boys WHERE id<3;