首页 理论教育 使用TRUNCATE删除数据的方法及步骤

使用TRUNCATE删除数据的方法及步骤

时间:2023-11-03 理论教育 版权反馈
【摘要】:同时,使用TRUNCATE TABLE语句的时候,应注意以下事项:TRUNCATE TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不变。不能对由 FOREIGN KEY 约束引用的表使用TRUNCATE TABLE,此时请使用DELETE。TRUNCATE TABLE 不能激活触发器,因为该操作不记录各个行删除。与 DELETE 语句相比,TRUNCATE TABLE 具有以下优点:所用的事务日志空间较少。总结表中数据的各种数据操作命令包括:INSERTUPDATE DELETETRUNCATE TRUNCATE用于释放存储表数据所用的数据页,DELETE用于删除表中的数据。

使用TRUNCATE删除数据的方法及步骤

DELETE语句的作用是删除表中的所有行,而不记录单个行删除操作。TRUNCATE TABLE在功能上与没有 WHERE 子句的 DELETE 语句相同;但是,TRUNCATE TABLE 速度更快,使用的系统资源和事务日志资源更少。其语法格式如下:

其中,参数说明如下:

➢Tablename:需要更新行的表的名称。

同时,使用TRUNCATE TABLE语句的时候,应注意以下事项:

➢TRUNCATE TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不变。若要删除表定义及其数据,请使用 DROP TABLE 语句。

➢如果表包含标识列,该列的计数器重置为该列定义的种子值。如果未定义种子,则使用默认值 1。若要保留标识计数器,请使用DELETE。

➢不能对由 FOREIGN KEY 约束引用的表使用TRUNCATE TABLE,此时请使用DELETE。

➢对于具有以上一个或多个特征的表,请使用 DELETE 语句。

➢TRUNCATE TABLE 不能激活触发器,因为该操作不记录各个行删除。

与 DELETE 语句相比,TRUNCATE TABLE 具有以下优点:

➢所用的事务日志空间较少。

➢使用的锁通常较少。

➢表中将毫无例外地不留下任何页。

以下示例删除Users表中的所有数据。

总结

表中数据的各种数据操作命令包括:

➢INSERT(增加记录)

➢UPDATE (修改记录)

➢DELETE(删除记录)

➢TRUNCATE (释放存储表数据所用的数据页)

TRUNCATE用于释放存储表数据所用的数据页,DELETE用于删除表中的数据。

作业

1.假设正在设计一个数据库应用程序,在设计过程中,数据库进行了重新规划,对原来的数据做了调整。其中对一个很重要的表进行简化,选择原表中的若干列组成了一个新的表结构。由于原表中已经保存了大量数据,为了把原表中的数据移动到新表中,以下( )方法是最好的。(选择一项)

A.重新在新的数据库表中录入数据

B.使用数据转换服务的输出功能把原来的数据保存为文本文件,再把文本文件复制到新的数据库中

C.使用一个“INSERT INTO【新的表名】SELECT【旧的表名】”的插入语句进行数据添加

D.使用UNION语句一次插入多个数据行

2.假设表Employee中包含主键列EmpName,则执行更新语句:UPDATE Employee SET EmpName=177 WHERE B=188,执行的结果可能是( )。(选择一项)

A.更新了多行数据 B.没有数据更新(www.xing528.com)

C.T-SQL语法错误,不能执行 D.错误,主键列不允许更新

3.假设Students表中的SEMail列的默认值为OEAC@163.Com,同时还有SAddress列和SSex列,则执行T-SQL:INSERT Students(SAddress,SSex)VALUES('OEAC',1),下列说法中正确的选项是( )。(选择一项)

A.SEMail列的值为“OEAC” B.SAddress列的值为空

C.SSex列的值为1 D.SEMail列的值为空

4.假设Employee表中的EmpID列为主键,并且为自动增长的标识列,同时还有EmpGrade列和EmpSalaryGrade列,所有列的数据类型都是整数,目前还没有数据,则执行插入数据的T-SQL语句:INSERT Employee(EmpID,EmpGrade,EmpSalaryGrade) VALUES (1,2,3),运行结果将是( )。(选择一项)

A.插入数据成功,EmpID列的数据为1

B.插入数据成功,EmpID列的数据为2

C.插入数据成功,EmpGrade列的数据为3

D.插入数据失败

5.为HR数据库中的职位表添加数据,如图3.7所示。

图3.7 职位表数据

6.为HR数据库中的部门表添加数据,如图3.8所示。

图3.8 部门表数据

7.为HR数据库中的职员表新增总裁信息,如图3.9所示。同时更新部门表中总裁办公室的部门主管编号(MANAGER_ID)为总裁的职员编号。

图3.9 总裁信息

8.添加其他员工的信息,同时注意修改部门表的相应信息,如图3.10、图3.11所示。

图3.10 职员表数据

图3.11 修改后的部门表

扩展练习

根据图3.10和图3.11所示信息,变更职员编号为103的员工至市场部。

(1) 修改其部门编号、部门主管编号,同时更换职位为市场代表,工资不变;

(2) 向任职历史记录表中新增历史记录,如图3.12所示。

图3.12 任职历史记录表信息

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈