在SQL中删除表的内容和删除表的结构有什么不同?各自用什么命令语言?

如题所述

区别有以下两点:

1、定义不同。

删除表的内容是指删除表的数据。表的结构还在。

删除表的结构是指删除整个表,包括结构和数据。

2、命令不同。

删除表的内容:

truncate table 表名称;

或者

delete from 表名称;

删除表结构:

drop table 表名称;

扩展资料:

truncate:删除内容、释放空间但不删除定义(保留表的数据结构)。truncate 不能删除行数据,要删就要把表清空。

delete:delete 语句用于删除表中的行。delete语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存,以便进行进行回滚操作。

truncate与不带where的delete :只删除数据,而不删除表的结构(定义)。

如果想保留标识计数值,请改用delete。 如果要删除表定义及其数据,请使用 drop table 语句。  

drop:删除内容和定义,释放空间。简单来说就是把整个表去掉。以后是不能新增数据,除非新增一个表。

drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index);依赖于该表的存储过程/函数将被保留,但其状态会变为:invalid。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-16

在SQL中,删除表的内容只是将数据删除,使之成为一个空表。

而删除表结构,是不仅将数据删除,也将表的实体删除。

其中,删除表内容的语句为:

truncate table 表名;

删除表结构的语句为:

drop table 表名;

举例如下:

数据库:SQL Server 2008 R2

假如表t中有数据如下:

执行如下语句后,表结构依然存在,只是数据没有了。

truncate table t;

查询结果:

那么,执行另一个sql语句:

drop table t;

查询结果:

这样则会提示对象不存在。

追问

谢谢!!

本回答被提问者和网友采纳
第2个回答  2016-06-07

删除表内容,是删除里面的记录,表还在,你还能继续插入数据的

删除表结构,表直接就没啦,不能在插入数据了


删除表内容语法:

delete from "tablename"

where "columnname" OPERATOR "value" [and|or "column" OPERATOR "value"];

[ ] = optional

比如删除所有员工表记录:

delete from employee;


删除表结构:

drop table  tb

比如删掉班级表:

drop table class



有用的话,记得采纳哦!么么哒!^-^