|
11.2.1 DELETE 语法
11.2.2 用DELETE 删除数据 (1) 删除一条记录 例11-5 删除编号为‘10031011 ’的员工记录 use pangu delete from employee where emp_id = ’10031011’ (2) 删除多条记录 例11-6 删除所有的部门信息记录 use pangu delete from department_info /* 或使用 delete department_info */ 这个例子删除了department_info 表中的所有数据使它成为空表 (3) 带子查询的删除语句 子查询同样可以嵌套在DELETE 语句中,用以构造执行删除操作的条件。 例11-7: 删除后勤部所有员工的记录。 use pangu delete from employee where dept_id = (select dept_id from department where d_name = ’后勤部’) 例11-8 删除订货表前100 项记录中所有产品编号为1003002 的产品 use pangu delete orders from (select top 100 * from orders) as orders_ top100 where orders.p_id = orders_ top100.p_id (4) 删除当前游标行数据 如果要删除表中的所有数据,那么使用TRUNCATE TABLE 命令比用DELETE 命令快得多。因为DELETE 命令除了删除数据外,还会对所删除的数据在事务处理日志中作记录,以防止删除失败时可以使用事务处理日志来恢复数据;而TRUNCATE TABLE 则只做删除与表有关的所有数据页的操作。TRUNCATE TABLE 命令功能上相当于使用不带WHERE 子句的DELETE 命令。但是TRUNCATE TABLE 命令不能用于被别的表的外关键字依赖的表。 TRUNCATE TABLE 命令语法如下: TRUNCATE TABLE table_name 注意:由于TRUNCATE TABLE命令不会对事务处理日志进行数据删除记录操作,因此不能激活触发器。 例11-10: 删除所有的部门信息记录。 use pangu truncate table department_info |
||