百度
360搜索
搜狗搜索

delete和drop的区别,数据库 DROP命令和DELETE命令的本质区别是什么详细介绍

本文目录一览: SQL 语句里delete 和drop有什么区别

一、删除内容不同
1、delete:只删除数据不删除表的结构。
2、drop:句将删除表的结构被依赖的约束(constrain)、触发器(trigger)、索引(index)。
二、语句效果不同
1、delete:是数据库操作语言(dml),这个操作会放到 rollback segement 中,事务提交之后才生效;如果有相应的 trigger,执行的时候将被触发。
2、drop:是数据库定义语言(ddl),操作立即生效,原数据不放到 rollback segment 中,不能回滚,操作不触发 trigger。
三、删除空间影响不同
1、delete:不影响表所占用的 extent,高水线(high watermark)保持原位置不动。
2、drop:语句将表所占用的空间全部释放。
参考资料来源:百度百科-SQL语句大全
参考资料来源:百度百科-sql语句

数据库操作中add和insert区别,以及delete和drop的区别是什么?

区别如下:
(1)add是在alter里面用于添加列等操作。
(2)insert是向特定的表里面添加一行或多行数据。
(3)delete是对表里面的数据进行操作,删除符合一定条件的数据行。
(4)drop是删除数据库里面的对象,包括表、视图、游标、存储过程等。
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。
在信息化社会,充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件。数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。

SQL 语句里delete 和drop有什么区别

1、执行速度不同
drop语句的速度要大于delete语句。
2、语言种类不同
delete语句是DML语言,不会自动提交。
drop语句是DDL语言,执行后会自动提交。
3、功能不同
delete语句用于删除局部性数据如表中的某一元组。
drop语句一般用于删除整体性数据如表,模式,索引,视图,完整性限制等。
4、删除形式不同
delete语句删除内容、释放空间但不删除定义,但是delete既可以对行数据进行删除,也可以对整表数据进行删除。
drop语句删除内容和定义,并释放空间。执行drop语句,将使此表的结构一起删除。
参考资料来源:百度百科--DELETE语句
参考资料来源:百度百科--DROP语句

数据库 DROP命令和DELETE命令的本质区别是什么

  不同点:
  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
drop是DDL(数据定义语言)自动commit,隐式提交,无法回滚
delete是DML(数据操作语言)显示提交,需要手工commit,可以回滚
很基础,建议去看书
DROP是删除表
DELETE是删除表中的记录
数据库DROP命令和DELETE命令的本质区别主要在触发条件,用法,执行速度上有区别,具体如下:
1、触发条件不同
delete语句是数据库操作语言(dml),这个操作会放到rollbacksegement中,在事务提交后生效,执行时触发相应的trigger。
drop是数据库定义语言(ddl),操作立即生效,原数据不放到rollbacksegment中,不能回滚,操作不触发trigger。
2、用法不同
delete只删除内容、释放空间但不删除定义,而delete即可以对行数据进行删除,也可以对整表数据进行删除。
drop是删除内容和定义,并释放空间。执行drop语句,将使此表的结构一起删除。
3、执行速度不同
drop的执行速度大于delete。
delete的执行速度小于drop。
扩展资料:
dropdatabase与DeleteDatabase的使用场合:
当你不再需要该表时,用drop。
当你仍要保留该表,但要删除所有记录时,用truncate。
当你要删除部分记录时(alwayswithawhereclause),用delete。
参考资料来源:
百度百科-数据库语言

SQL删除语句中Drop、DELETE、TRUNCATE三者有什么区别?

三者的区别是:
delete from 表名执行delete后,表结构依然存在,只删除表中全部数据。drop from 表名 执行delete后,表结构和数据全部被删除。并且delete执行后还有个提交的过程,drop就一步操作完成。删除速度一般来说drop快于truncate 快于 delete,小心使用 drop 和 truncate,尤其没有备份的时候.,否则数据找不回来。
相同点:
truncate和不带where子句的delete,以及drop 都会删除表内的数据

drop、truncate、delete三种删除的区别

drop:drop table 表名 (删除整个表)
删除内容和定义,并释放空间。执行drop语句,将使此表的结构一起删除。也就是删除整个表。操作不能回滚。
truncate:truncate table 表名 (清空表中的所有数据)
删除内容、释放空间但不删除定义(也就是保留表的数据结构)。与drop不同的是,只是清空表数据而已。 truncate不能删除行数据,虽然只删除数据,但是比delete彻底,它只删除表数据。操作不能回滚。整表数据清空。
delete:delete from 表名 (where 列名 = 值) (删除一行数据)
与truncate类似,delete也只删除内容、释放空间但不删除定义;但是delete即可以对行数据进行删除,也可以对整表数据进行删除。delete语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存,以便进行进行回滚操作。
原文链接: https://blog.csdn.net/wx1528159409/article/details/88058834

delete和drop的区别是什么?

drop、truncate和delete的区别
(1)DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。
???TRUNCATE?TABLE?则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。
(2)表和索引所占空间。
???当表被TRUNCATE?后,这个表和索引所占用的空间会恢复到初始大小,
???DELETE操作不会减少表或索引所占用的空间。
???drop语句将表所占用的空间全释放掉。
(3)一般而言,drop?>?truncate?>?delete
(4)应用范围。
????TRUNCATE?只能对TABLE;?????????DELETE可以是table和view
(5)TRUNCATE?和DELETE只删除数据,?DROP则删除整个表(结构和数据)。
(6)truncate与不带where的delete?:只删除数据,而不删除表的结构(定义)drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger)索引(index);依赖于该表的存储过程/函数将被保留,但其状态会变为:invalid。
(7)delete语句为DML(data?maintain?Language),这个操作会被放到?rollback?segment中,事务提交后才生效。如果有相应的?tigger,执行的时候将被触发。
(8)truncate、drop是DLL(data?define?language),操作立即生效,原数据不放到?rollback?segment中,不能回滚
(9)在没有备份情况下,谨慎使用?drop?与?truncate。要删除部分数据行采用delete且注意结合where来约束影响范围。回滚段要足够大。要删除表用drop;若想保留表而将表中数据删除,如果于事务无关,用truncate即可实现。如果和事务有关,或老师想触发trigger,还是用delete。
(10)?Truncate?table?表名?速度快,而且效率高,因为:?
truncate?table?在功能上与不带?WHERE?子句的?DELETE?语句相同:二者均删除表中的全部行。但?TRUNCATE?TABLE?比?DELETE?速度快,且使用的系统和事务日志资源少。DELETE?语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE?TABLE?通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。?
(11)?TRUNCATE?TABLE?删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如果想保留标识计数值,请改用?DELETE。如果要删除表定义及其数据,请使用?DROP?TABLE?语句。?
(12)?对于由?FOREIGN?KEY?约束引用的表,不能使用?TRUNCATE?TABLE,而应使用不带?WHERE?子句的?DELETE?语句。由于?TRUNCATE?TABLE?不记录在日志中,所以它不能激活触发器。
一、delete
1、delete是DML,执行delete操作时,每次从表中删除一行,并且同时将该行的的删除操作记录在redo和undo表空间中以便进行回滚(rollback)和重做操作,但要注意表空间要足够大,需要手动提交(commit)操作才能生效,可以通过rollback撤消操作。
2、delete可根据条件删除表中满足条件的数据,如果不指定where子句,那么删除表中所有记录。
3、delete语句不影响表所占用的extent,高水线(high?watermark)保持原位置不变。
二、truncate
1、truncate是DDL,会隐式提交,所以,不能回滚,不会触发触发器。
2、truncate会删除表中所有记录,并且将重新设置高水线和所有的索引,缺省情况下将空间释放到minextents个extent,除非使用reuse?storage,。不会记录日志,所以执行速度很快,但不能通过rollback撤消操作(如果一不小心把一个表truncate掉,也是可以恢复的,只是不能通过rollback来恢复)。
3、对于外键(foreignkey?)约束引用的表,不能使用?truncate?table,而应使用不带?where?子句的?delete?语句。
4、truncatetable不能用于参与了索引视图的表。
三、drop
1、drop是DDL,会隐式提交,所以,不能回滚,不会触发触发器。
2、drop语句删除表结构及所有数据,并将表所占用的空间全部释放。
3、drop语句将删除表的结构所依赖的约束,触发器,索引,依赖于该表的存储过程/函数将保留,但是变

数据库中 drop database与Delete Database的区别是什么?

drop database与Delete Database区别如下:
1、触发条件不同
delete语句是数据库操作语言(dml),这个操作会放到 rollback segement 中,事务提交之后才生效,如果有相应的 trigger,执行的时候将被触发。
drop 是数据库定义语言(ddl),操作立即生效,原数据不放到 rollback segment 中,不能回滚,操作不触发trigger。
2、用法不同
delete只删除内容、释放空间但不删除定义,但是delete即可以对行数据进行删除,也可以对整表数据进行删除。
drop是删除内容和定义,并释放空间。执行drop语句,将使此表的结构一起删除。
3、执行速度不同
drop的执行速度大于delete。
delete的执行速度小于drop。
扩展资料:drop database与Delete Database的相同点:
1、truncate和不带where子句的delete,以及drop都能删除表内的数据。
2、truncate和delete只删除表数据保留表结构。
drop database与Delete Database的使用场合:
当你不再需要该表时, 用 drop。
当你仍要保留该表,但要删除所有记录时, 用 truncate。
当你要删除部分记录时(always with a where clause), 用 delete。
参考资料:百度百科 数据库语言
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中delete,drop都代表删除,但2者又有一些区别
1.delete只删除数据不删除表的结构(定义)
drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函数将保留,但是变为invalid状态。
2.delete语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发。
drop是ddl, 操作立即生效,原数据不放到rollback segment中,不能回滚. 操作不触发trigger。
3.delete语句不影响表所占用的extent, 高水线(high watermark)保持原位置不动 。
drop语句将表所占用的空间全部释放。
4.速度,一般来说: drop> delete 。
5.安全性:小心使用drop 尤其没有备份的时候。
使用上,想删除部分数据行用delete,注意带上where子句。回滚段要足够大。
6.在实际应用中,三者的区别是明确的。
当你不再需要该表时, 用 drop;
当你要删除部分记录时(always with a WHERE clause), 用 delete。
扩展资料
数据库中 delete truncate 的区别
1.DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。
TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。
2. 表和索引所占空间。
当表被TRUNCATE 后,这个表和索引所占用的空间会恢复到初始大小,而DELETE操作不会减少表或索引所占用的空间。
3. 应用范围。TRUNCATE 只能对TABLE;DELETE可以是table和view。
4.delete语句为DML(data maintain Language),这个操作会被放到 rollback segment中,事务提交后才生效。如果有相应的 tigger,执行的时候将被触发。
5.truncate是DLL(data define language),操作立即生效,原数据不放到 rollback segment中,不能回滚
6.Truncate table 表名 速度快,而且效率高,因为:
truncate table 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。
DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。
TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。
7. TRUNCATE TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不变。
新行标识所用的计数值重置为该列的种子。
如果想保留标识计数值,请改用 DELETE。
8.对于由 FOREIGN KEY 约束引用的表,不能使用 TRUNCATE TABLE,而应使用不带 WHERE 子句的 DELETE 语句。
由于 TRUNCATE TABLE 不记录在日志中,所以它不能激活触发器。
参考资料
百度百科-drop
百度百科-delete

阅读更多 >>>  为什么软件不能删除

数据库中drop和delete的区别

drop是把整个表移除,drop后表不存在了。delete只是删除表中的数据,delete后表还是存在的,只是数据没了。

网站数据信息

"delete和drop的区别,数据库 DROP命令和DELETE命令的本质区别是什么"浏览人数已经达到21次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:delete和drop的区别,数据库 DROP命令和DELETE命令的本质区别是什么的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!