delete
from 表名
where 条件表达式
where中条件表达式写法与查询语句相同,如果省略where表示删除表里所有数据。以行为单位添加删除。
1.删除10号部门的员工
delete
from emp
where dept_id = 10
2.删除所有数据
delete from 表名
Truncate 表名
delete 删除 的数据可以恢复,truncate不可恢复
子查询与增删改的结合
1.复制表(只适用于mysql)
create table 表名
as select 语句
create table emp_bak
as select * from emp;
insert 与子查询
select e.id,e.name,d.name,r.name
from emp,dept d region r
where e.dept_id = d.id and r.id=d.region_id;
update与子查询
将在亚洲工作的员工工资增加500
update emp
set salary = salary +500
where id in(
select e.id
from emp,dept d region r
where e.dept_id = d.id and r.id=d.region_id
and r.name='asia');