删除操作
作用删除表里的记录行(都是整行整行的删除的**)**
1.单表的删除
语法:
sql
delete from 表名 where 要删除的记录筛选条件;
案例:删除员工编号大于203的员工信息
sql
delete from employees where employee_id>203;
2.多表的删除
语法:
sql
delete 别名1,别名2
from 表1 别名1,表2 别名2
where 连接条件 and 筛选条件;
注意:如果只删表1的就只写别名1,如果两个表的记录都删就别名1,别名2)
sql
delete 别名1,别名2
from 表1 别名1
[连接类型] join 表2 别名2
on 连接条件
where 筛选条件;
案例:删除任波涛的年龄信息
delete a from students s
inner join ages a
on s.age_id = a.id
where s.name='任波涛';
3.整表记录全部删除
不能加where条件
sql
truncate table 表名;
4.delete和truncate区别
- delete可以加where条件
- truncate删除的效率高一些
- 假如要删除的表上有自增长字段,如果用delete删除,再插入数据,自增长从断点值开始,用truncate删除,再插入数据,从1开始;
- truncate删除没有返回值,delete删除有返回值
- truncate删除不能回滚,delete删除可以回滚