ani*_*mar 1 sql database oracle plsql
*删除是DML(数据操作语言).删除命令删除现有表中的记录.*的语法Delete是
sql> Delete from .
Run Code Online (Sandbox Code Playgroud)
这将从TAble中删除所有记录
sql> Delete from
Where **
Run Code Online (Sandbox Code Playgroud)
这会删除一组特定的记录.
注意:删除不是Autocommit语句(事实上,DML都不是自动提交)
Drop和Truncate都是DDL(数据定义语言).
使用它的结构删除{删除或删除}表.这是自动声明.Drops一旦被解雇,就无法回滚.
句法:
sql>drop table
Run Code Online (Sandbox Code Playgroud)
Truncate是用于从表中删除所有记录的命令.但是表的结构保持不变.它也是一个自动提交声明.
句法;
sql>truncate table**
Run Code Online (Sandbox Code Playgroud)
我们可以回滚截断吗?
O. *_*nes 12
DELETE处理使用WHERE语句选择的行.它的使用是运行生产应用程序的一部分.例如,您可以删除一个多月前标记为"完成"的所有行.
DELETE可以作为事务的一部分完成.也就是说,可以提交或回滚DELETE操作.
TRUNCATE在保持表定义的同时快速删除表中的所有行.(逐行DELETE可能需要一些时间,特别是对于包含大量键的表.)它对于诸如每周生产空白的日志表之类的东西都很方便.它具有重置索引和释放未使用的磁盘存储的便利副作用.我曾使用TRUNCATE消除过去包含数百万行的日志表的内容,以切换到一个操作规程,例如,它只包含一周的行.
DROP会快速删除所有行和表的定义.它最常用于为操作设置DBMS模式或将数据迁移到新服务器.
TRUNCATE和DROP被认为是数据定义语句.因此,它们不能成为事务的一部分,也不能回滚.
如果您发现自己在日常生产中使用TRUNCATE或DROP,那么您应该小心理解为什么要这样做.与DELETE相比,它们是钝器.
| 归档时间: |
|
| 查看次数: |
61883 次 |
| 最近记录: |