DML语言
数据操纵语言(Data Manipulation Language, DML)
- 插入:insert
- 修改:update
- 删除:delete
1. 插入语句
方式一:经典的插入
语法:insert into 表名(列名,…) values(值1,…);
1
2
3# 1. 插入的值的类型要与列的类型一致或兼容
INSERT INTO beauty(id,name,sex,borndate,phone,photo,boyfriend_id)
VALUES(13,'唐艺昕','女','1990-4-23','18988888888',NULL,2);1
2
3
4
5
6
7
8
9# 2. 不可以为null的列必须插入值,可以为null的列也可以省略
# 方式一:
INSERT INTO beauty(id,name,sex,borndate,phone,photo,boyfriend_id)
VALUES(13,'唐艺昕','女','1990-4-23','18988888888',NULL,2);
## 方式二:
INSERT INTO beauty(id,name,sex,phone)
VALUES(15,'娜扎','女',16,'1388888888');1
2
3# 3. 列的顺序可以调换
INSERT INTO beauty(name,sex,id,phone)
VALUES('蒋欣','女', 16,'110');1
2
3
4# 4. 列的个数和值的个数必须一致
INSERT INTO beauty(name,sex,id,phone)
VALUES('关晓彤','女', 17,'110');1
2
3
4# 5. 可以省略列名,默认所有列,而且列的顺序和表中的列的顺序默认一致
INSERT INTO beauty
VALUES(18,'张飞','男',NULL,'119',NULL,NULL);方式二
语法:insert into 表名 set 列名=值,列名=值,…
1
2
3例如:
INSERT INTO beauty
SET id=19,NAME='刘涛',phone='999';方式一和方式二的比较
1
2
3
4
5#1、方式一支持插入多行,方式二不支持
INSERT INTO beauty
VALUES(23,'唐艺昕1','女','1990-4-23','1898888888',NULL,2)
,(24,'唐艺昕2','女','1990-4-23','1898888888',NULL,2)
,(25,'唐艺昕3','女','1990-4-23','1898888888',NULL,2);1
2
3
4
5
6
7
8#2、方式一支持子查询,方式二不支持
INSERT INTO beauty(id,NAME,phone)
SELECT 26,'宋茜','11809866';
INSERT INTO beauty(id,NAME,phone)
SELECT id,boyname,'1234567'
FROM boys WHERE id<3;2. 修改语句
修改单表的记录
语法:
update 表名
set 列=新值,列=新值,…
where 筛选条件;
1 | # 修改单表的记录 |
修改多表的记录
1 | 语法: |
1 | # 案例1:修改张无忌的女朋友的手机号为114 |
删除语句
单表的删除
delete from 表名 where 筛选条件
1 | # #案例:删除手机号以9结尾的女神信息 |
多表的删除
1 | sql92语法: |
1 | # 案例:删除张无忌的女朋友的信息 |
1 | 案例:删除黄晓明的信息以及他女朋友的信息 |
整张表的内容的删除
语法:truncate table 表名;
1 | # 案例:清空boys表 |
delete 与 truncate的区别
1 | 1.delete 可以加where 条件,truncate不能加 |