delete、truncate table和drop table的区别

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

deletetruncate tabledrop table的区别:

(1)首先它的共同点都是删除数据,drop是将表也给删除了

(2)delete只是单单的删除表中的数据,但是它执行的速度是比较慢的,因为它要记录日志信息,也就是说,使用delete语句,系统将一次一行地处理要删除的表中的记录,在从表中删除行之前,在事务处理日志中记录相关的删除操作和删除行中的列值,以防止删除失败时,可以使用事务处理日志来恢复数据。

(3)truncate table则一次性完成删除与表在关的所有数据页的操作。另外,truncate table语句并不更新事务处理日志。由此,在sql server中,使用truncate table语句从表中删除行后,将不能用取消行的删除操作(删除数据不能恢复)但是它没有删除表结构

(4)drop table直接删除数据表和表结构。

突然想到了,删除一个表的主键的方法,一起来看看:

alter table studenttest add constraint stu_snoa primary key clustered(sno)--这是创建主键的方法

alter table studenttest drop constraint stu_snoa--这是删除主键的方法,这里其实就只是删除了一个约束,约束一删除主键就没有了

 

本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/416805,如需转载请自行联系原作者

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
6月前
|
算法 关系型数据库 MySQL
drop、truncate 和 delete 的区别
drop、truncate 和 delete 的区别
|
关系型数据库 MySQL 数据库
对于mysql数据库delect from,truncate table,drop table, update操作的时候如何选择
对于mysql数据库delect from,truncate table,drop table, update操作的时候如何选择
192 2
|
3月前
|
SQL 存储 数据库
DROP、TRUNCATE 和 DELETE 命令的区别
【8月更文挑战第3天】
231 4
DROP、TRUNCATE 和 DELETE 命令的区别
|
4月前
|
存储
DROP TABLE 语句
【7月更文挑战第20天】DROP TABLE 语句。
73 2
|
6月前
|
存储 SQL 关系型数据库
CREATE TABLE语句
在MySQL中,使用CREATE TABLE语句来创建表。你需要指定表名和列的定义,包括列名、数据类型以及约束等,结合实际存储和上一课学习的数据类型选取合适的。创建一个book_types表
213 0
|
SQL 存储 索引
详细了解SQL中delete,drop,truncate的区别和不同
详细了解SQL中delete,drop,truncate的区别和不同
240 1
|
SQL 数据库
CREATE TABLE 语句
CREATE TABLE 语句
129 1
|
自然语言处理 安全 数据库
Miniob drop table 实现解析 | 学习笔记
快速学习 Miniob drop table 实现解析
Miniob drop table 实现解析 | 学习笔记
瞬表——Ephemeron Table
瞬表——Ephemeron Table
163 0
|
SQL 存储 数据库
Drop、Truncate和Delete究竟怎么删除
在数据库种有三个对表中数据进行删除的语法,分别是Drop、Truncate和Delete。关于它们的区别和相同的地方也是在面试的过程中经常遇到的。平时也是用了就用了,哪个用的习惯就用哪个。不过既然都是删除为什么还要有三个不同的语句呢?说明它们之间肯定有着不一样的地方。邓爷爷说过实践是检验真理的唯一标准。这里就通过实际的例子总结一下它们之间的一些异同点,也加深一下自己的印象。
222 0
Drop、Truncate和Delete究竟怎么删除