❶ sql数据库中当需要删除操作时 什么时候用delete 什么时候用drop
delete 是删除表中数据
例如:
deletetable_temp;
deletetable_tempwhereid=3;
Drop 是删除数据库中的对象
例如:
droptabletable_temp--删除表
dropprocUsp_UserLogin--删除存储过程
❷ 谁能告诉我SQL server里,删除语句 Drop、DELETE、TRUNCATE三者有什么区别
drop 是把表和 数据 都删掉了 delete是把表里的某个元组 及里面的某个 数据 删掉了 truncate是把表里的数据全部 删掉 但表的结果 没删掉 只是 数据全删掉了
❸ SQL删除语句中Drop、DELETE、TRUNCATE三者有什么区别
三者的区别是:
delete
from
表名执行delete后,表结构依然存在,只删除表中全部数据。drop
from
表名
执行delete后,表结构和数据全部被删除。并且delete执行后还有个提交的过程,drop就一步操作完成。删除速度一般来说drop快于truncate
快于
delete,小心使用
drop
和
truncate,尤其没有备份的时候.,否则数据找不回来。
相同点:
truncate和不带where子句的delete,以及drop
都会删除表内的数据
❹ sql中drop,truncate和delete的区别
drop 是删除表、视图、触发器等,删除数据结构。
truncate,delete都是删除表的数据,前者相当于WINDOWS系统里的SHIFT加删除,无法通过rollback进行数据回滚,删除速度很快。后者相当WINDOWS系统里的删除,可以通过rollback进行回滚,删除速度较慢。
当然,删除速度快慢是建立在数据量非常大的基础上的。
❺ SQL 语句里delete 和drop有什么区别
1、执行速度不同
drop语句的速度要大于delete语句。
2、语言种类不同
delete语句是DML语言,不会自动提交。
drop语句是DDL语言,执行后会自动提交。
3、功能不同
delete语句用于删除局部性数据如表中的某一元组。
drop语句一般用于删除整体性数据如表,模式,索引,视图,完整性限制等。
4、删除形式不同
delete语句删除内容、释放空间但不删除定义,但是delete既可以对行数据进行删除,也可以对整表数据进行删除。
drop语句删除内容和定义,并释放空间。执行drop语句,将使此表的结构一起删除。
❻ 数据库中drop和delete的区别
数据库中drop和delete的区别为:删除不同、操作不同、操作对象不同。
一、删除不同
1、drop:drop主要用于删除数据结构,包括内部的数据内容。
2、delete:delete主要用于删除数据内容,不删除数据结构。
二、操作不同
1、drop:drop操作不放到rollbacksegment中,不能回滚,操作不触发trigger。
2、delete:delete操作会放到rollbacksegement中,在事务提交后生效,执行时触发相应的trigger。
三、操作对象不同
1、drop:drop的操作对象可以是数据库,也可以是数据库中的数据表。
2、delete:delete的操作对象只能是数据库中的数据表。
❼ SQL删除语句中Drop、DELETE、TRUNCATE三者有什么区别
三者的区别是:
delete from 表名执行delete后,表结构依然存在,只删除表中全部数据。drop from 表名 执行delete后,表结构和数据全部被删除。并且delete执行后还有个提交的过程,drop就一步操作完成。删除速度一般来说drop快于truncate 快于 delete,小心使用 drop 和 truncate,尤其没有备份的时候.,否则数据找不回来。
相同点:
truncate和不带where子句的delete,以及drop 都会删除表内的数据
❽ sql 中关于delete drop alter
sql中delete,drop ,truncate都代表删除,但3者又有一些区别
1. truncate和 delete只删除数据不删除表的结构(定义)
drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函数将保留,但是变为invalid状态.
2.delete语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发.
truncate,drop是ddl, 操作立即生效,原数据不放到rollback segment中,不能回滚. 操作不触发trigger.
3.delete语句不影响表所占用的extent, 高水线(high watermark)保持原位置不动
显然drop语句将表所占用的空间全部释放
truncate 语句缺省情况下见空间释放到 minextents个 extent,除非使用reuse storage; truncate会将高水线复位(回到最开始).
4.速度,一般来说: drop>; truncate >; delete
5.安全性:小心使用drop 和truncate,尤其没有备份的时候.否则哭都来不及
使用上,想删除部分数据行用delete,注意带上where子句. 回滚段要足够大.
想删除表,当然用drop
想保留表而将所有数据删除. 如果和事务无关,用truncate即可. 如果和事务有关,或者想触发trigger,还是用delete.
如果是整理表内部的碎片,可以用truncate跟上reuse stroage,再重新导入/插入数据
在实际应用中,三者的区别是明确的。
当你不再需要该表时, 用 drop;
当你仍要保留该表,但要删除所有记录时, 用 truncate;
当你要删除部分记录时(always with a WHERE clause), 用 delete.
而alter是对表结构的修改.
希望对你理解有帮助。
❾ 详解SQL中drop,delete和truncate的异同
第一:相同点:
truncate和不带where子句的delete,以及drop 都会删除表内的数据
第二:不同点:
1. truncate和delete只删除数据不删除表的结构(定义)
drop 语句将删除表的结构被依赖的约束(constrain)、触发器(trigger)、索引(index);依赖于该表的存储过程/函数将保留,但是变为 invalid 状态。
2. delete 语句是数据库操作语言(dml),这个操作会放到 rollback segement 中,事务提交之后才生效;如果有相应的trigger执行的时候将被触发。
truncate、drop 是数据库定义语言(ddl),操作立即生效,原数据不放到rollback segment中,不能回滚,操作不触发 trigger。
3.delete 语句不影响表所占用的extent,高水线(high watermark)保持原位置不动;
显然drop 语句将表所占用的空间全部释放; truncate 语句缺省情况下见空间释放到 minextents个 extent,除非使用reuse storage;truncate 会将高水线复位(回到最开始)。
4.速度:一般来说: drop> truncate > delete
5.安全性:小心使用 drop 和 truncate,尤其没有备份的时候.,否则哭都来不及。
6.使用上:想删除部分数据行用delete,注意带上where子句. 回滚段要足够大。
想删除表,当然用drop。
想保留表而将所有数据删除,如果和事务无关,用truncate即可;如果和事务有关,或者想触发trigger,还是用delete。
如果是整理表内部的碎片,可以用truncate跟上reuse stroage,再重新导入/插入数据。
❿ sql清空表数据的三种方式(truncate、delete、drop)
truncate:整体删除所有数据,保留表结构,不能撤销还原,不写服务器 log
delete:逐行删除速度极慢,不适合大量数据删除, 写服务器log (没有truncate快的原因)
drop:删除表,数据和表结构一起删除,快速