truncate的特征(详解SQL中drop,delete和truncate的异同)
本文目录
- 详解SQL中drop,delete和truncate的异同
- sql中truncate是什么语句
- truncate和delete的主要区别是什么
- truncate和delete的区别
- 关于oracle里面delete,trancate,drop的区别和用法详细点谢谢
详解SQL中drop,delete和truncate的异同
第一:相同点:truncate和不带where子句的delete,以及drop都会删除表内的数据第二:不同点:1.truncate和delete只删除数据不删除表的结构(定义)drop语句将删除表的结构被依赖的约束(constrain)、触发器(trigger)、索引(index);依赖于该表的存储过程/函数将保留,但是变为invalid状态。2.delete语句是数据库操作语言(dml),这个操作会放到rollbacksegement中,事务提交之后才生效;如果有相应的trigger执行的时候将被触发。truncate、drop是数据库定义语言(ddl),操作立即生效,原数据不放到rollbacksegment中,不能回滚,操作不触发trigger。3.delete语句不影响表所占用的extent,高水线(highwatermark)保持原位置不动;显然drop语句将表所占用的空间全部释放;truncate语句缺省情况下见空间释放到minextents个extent,除非使用reusestorage;truncate会将高水线复位(回到最开始)。4.速度:一般来说:drop》truncate》delete5.安全性:小心使用drop和truncate,尤其没有备份的时候.,否则哭都来不及。6.使用上:想删除部分数据行用delete,注意带上where子句.回滚段要足够大。想删除表,当然用drop。想保留表而将所有数据删除,如果和事务无关,用truncate即可;如果和事务有关,或者想触发trigger,还是用delete。如果是整理表内部的碎片,可以用truncate跟上reusestroage,再重新导入/插入数据。
sql中truncate是什么语句
truncate删除表中的所有数据。
一. 基本概念
SQL语言,是结构化查询语言(Structured Query Language)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
二. 支持标准
SQL 是1986年10 月由美国国家标准局(ANSI)通过的数据库语言美国标准,接着,国际标准化组织(ISO)颁布了SQL正式国际标准。1989年4月,ISO提出了具有完整性特征的SQL89标准,1992年11月又公布了SQL92标准,在此标准中,把数据库分为三个级别:基本集、标准集和完全集。
truncate和delete的主要区别是什么
truncate和delete的主要区别:
1、delete是DML,执行delete操作时,每次从表中删除一行,并且同时将该行的的删除操作记录在redo和undo表空间中以便进行回滚(rollback)和重做操作,但要注意表空间要足够大,需要手动提交(commit)操作才能生效,可以通过rollback撤消操作。
2、delete可根据条件删除表中满足条件的数据,如果不指定where子句,那么删除表中所有记录。
3、delete语句不影响表所占用的extent,高水线(high watermark)保持原位置不变。
4、truncate是DDL,会隐式提交,所以,不能回滚,不会触发触发器。
5、truncate会删除表中所有记录,并且将重新设置高水线和所有的索引,缺省情况下将空间释放到minextents个extent,除非使用reuse storage,。不会记录日志,所以执行速度很快,但不能通过rollback撤消操作(如果一不小心把一个表truncate掉,也是可以恢复的,只是不能通过rollback来恢复)。
6、对于外键(foreignkey )约束引用的表,不能使用 truncate table,而应使用不带 where 子句的 delete 语句。
7、truncatetable不能用于参与了索引视图的表。
扩展资料:
在速度上,一般来说truncate 》 delete。
如果想保留表而将所有数据删除,如果和事务无关,用truncate就好。
如果和事务有关,或者想触发trigger,还是用delete。
delete (编程语言)-百度百科
truncate和delete的区别
1、空间不同:
表和索引所占空间。当表被truncate 后,这个表和索引所占用的空间会恢复到初始大小,delete操作不会减少表或索引所占用的空间。
2、应用范围不同:
truncate 只能对table;delete可以是table和view。
3、作用不同:
truncate 和delete只删除数据, drop则删除整个表(结构和数据)。
扩展资料:
函数说明:truncate()会将参数path指定的文件大小改为参数length指定的大小。 如果原来的文件大小比参数length大,则超过的部分会被删除
返回值:执行成功则返回0, 失败返回-1, 错误原因存于errno
错误代码:EACCESS 参数path所指定的文件无法存取
EROFS 欲写入的文件存在于只读文件系统内
EFAULT 参数path指针超出可存取空间
关于oracle里面delete,trancate,drop的区别和用法详细点谢谢
1、首先复制一张表成3张复制表,分别对3张复制表进行drop、delete、truncate语句的操作,如图。
2、语句运行结果,如图只要delete有影响条数其他没有。
3、然后再来看表会发现执行drop表被删除了,如图。
4、然后打开表查看表数据可以看出TRUNCATE是清空表数据,delete是删除指定的条件数据,如图。
5、还要就是表设计中的自增值的不同,TRUNCATE执行的表自增又从1开了,还有就是delete的数据可以回滚还原,TRUNCATE的不可以,如图。
更多文章:
aspireone笔记本(Acer Aspire one超便携迷你笔记本电脑配置怎么样)
2024年9月5日 07:25
一维数组初始化为0(c语言中定义一维数组如果想全部都赋值为0可以写成a[10]={}吗)
2024年7月23日 02:11
大一数据库知识点(Oracle数据库有哪些知识点,请讲全面,不用详细介绍每个知识点)
2024年6月28日 09:04
用户 [yòng hù]什么意思近义词和反义词是什么英文翻译是什么?英语user和costomer作为用户的区别是什么
2024年7月27日 10:35
小白翻译成英语是smallwhite好还是littlewhite好?小白的英文名是什么
2024年7月21日 16:12
swing节奏(像重金属、EDM、Hip-Hop、摇滚等劲爆音乐风格适合什么年龄段的人听)
2024年6月10日 09:10
手机网页翻译日文(我上日本的网站,都是日文看不明白,怎么把他网站的内容直接翻译成中文)
2024年8月22日 19:00
linux命令行界面怎么退出(linux中head-v怎么退出)
2024年4月10日 03:15
warning是什么意思中文(电脑中WARNING:Battery is low是啥意思)
2024年7月13日 15:50