SQL 中delete语句可以删除表么

如题所述

sql中delete语句不能删除表,只能删除表中的所有行数据。

delete from 表名

想要彻底删除表,可以用drop语句。

drop 表名 

拓展资料:

drop,delete区别

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

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

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

3、执行速度,一般来说: drop>  delete。

4、delete语句是数据库操作语言(dml),这个操作会放到 rollback segement 中,事务提交之后才生效;如果有相应的 trigger,执行的时候将被触发。drop 是数据库定义语言(ddl),操作立即生效,原数据不放到 rollback segment 中,不能回滚,操作不触发 trigger。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-02-27
sql中delete语句不能删除表,只能删除表中的所有行数据。
delete
from
表名
想要彻底删除表,可以用drop语句。
drop
表名
拓展资料:
drop,delete区别
1、drop
(删除表):删除内容和定义,释放空间。简单来说就是把整个表去掉.以后要新增数据是不可能的,除非新增一个表。
drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger)索引(index);依赖于该表的存储过程/函数将被保留,但其状态会变为:invalid。
2、delete
(删除表中的数据):delete
语句用于删除表中的行。delete语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存,
以便进行进行回滚操作。
3、执行速度,一般来说:
drop>
delete。
4、delete语句是数据库操作语言(dml),这个操作会放到
rollback
segement
中,事务提交之后才生效;如果有相应的
trigger,执行的时候将被触发。drop
是数据库定义语言(ddl),操作立即生效,原数据不放到
rollback
segment
中,不能回滚,操作不触发
trigger。
第2个回答  2015-10-15
1:delete删除内容不删除定义,不释放空间
delete from 表名 where 条件 --按条件删除数据
delete from 表名 --删除全部数据

2:删除内容、释放空间但不删除定义
truncate table 表名 --清空数据,保留表结构

3:删除内容和定义,释放空间
drop table 表名 --表结构包括数据一起删除

注:truncate 比 delete速度快,且使用的系统和事务日志资源少。
第3个回答  2013-03-25
不能 想要完全删除表只能通过 drop table table_name; 如果是sql server、oracle之类的数据软件,可以直接在数据库里面右键删除表
如果只想清空表内数据,保留表结构可以通过delete Table_name 一次清空
第4个回答  2013-03-25
可以的,delete table 表名 执行一下就可以删除表了本回答被提问者采纳
相似回答