INSERT、UPDATE、DELETE、TRUNCATE指令详解

DML语言:

DML(Data Manipulation Language),数据操纵语言,在SQL语言中,负责对数据库对象运行数据访问工作的指令集,以INSERT、UPDATE、DELETE三种指令为核心,分别代表插入、更新与删除。

INSERT INTO

用于向表中插入新记录。

#方式1:
#需要指定列名和被插入的值(列可以调换顺序,但是要和值一一对应)
INSERT INTO 表名(列名1...) VALUES(1...);

#插入多行,每个VALUES()以逗号隔开
INSERT INTO 表名(列名1...) VALUES(1...),VALUES(1...)...;

#无需指定要插入数据的列名,只需提供被插入的值即可(默认所有列,而且顺序要和表中列的顺序一致):
INSERT INTO 表名 VALUES(1...);

#插入多行,每个VALUES()以逗号隔开
INSERT INTO 表名 VALUES(1...),VALUES(1...)...;

#方式2:
INSERT INTO 表名
SET 列名=值,列名=...

方式一支持多行插入,方式二不支持,方式一支持子查询,方式二不支持;

UPDATE

用于修改表中记录的数据

修改单表

语法格式:

UPDATE 表名
SET 列名=,列名=,...
WHERE 筛选条件;

修改多表

语法格式:

UPDATE1
连接类型【INNER,LEFT OUTER,RIGHT OUTERJOIN2
ON 连接条件
SET 列名=,列名=,...

DELETE

用于删除表中记录

单表删除:

语法格式:

DELETE FROM 表名
WHERE 筛选条件;	

多表删除:

语法格式:

DELETE 表名(要删除那个表的就写那个,也可以写多个) FROM1
连接类型【INNER,LEFT OUTER,RIGHT OUTERJOIN2
ON 连接条件
WHERE 筛选条件;	

举例说明

(以上面的工资等级表(salgrade)和员工表(employees),删除工资等级为1的员工信息)

DELETE e
FROM employees e
INNER JOIN salgrade s
ON e.`SAL` BETWEEN s.`LOSAL` AND s.`HISAL`
WHERE s.`GRADE`=1;

TRUNCATE语句

语法格式:

TRUNCATE TABLE 表名;

DELETE和TRUNCATE区别

  1. DELETE可以加WHERE语句,TRUNCATE不能;
  2. 如果要删除的表中有自增长列,用DELETE删除,再插入数据,自增长列的值从断点开始,而用TRUNCATE删除后再插入数据,自增长列的值是从1开始。
  3. DELETE删除有返回值,TRUNCATE删除没有返回值。
  4. TRUNCATE删除不能回滚,而DELETE删除可以回滚。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值