旗下导航:搜·么
当前位置:网站首页 > MySQL教程 > 正文

SQL敕令delete和truncate之间有什么区别?【MySQL教程】,SQL命令,delete,truncate

作者:搜教程发布时间:2019-12-01分类:MySQL教程浏览:52评论:0


导读:在SQL中delete和truncate敕令都可用于删除数据(纪录),那末它们之间有什么区分?下面本篇文章就来给人人引见一下delete和truncate敕令之间的区分,愿望对人人...
在SQL中delete和truncate敕令都可用于删除数据(纪录),那末它们之间有什么区分?下面本篇文章就来给人人引见一下delete和truncate敕令之间的区分,愿望对人人有所协助。

什么是delete敕令?

delete敕令有助于从数据库中的表中删除纪录。【视频教程引荐:MySQL教程】

例:以下是一张student表,包括有3个字段:student_id、name、marks

能够运用SQL的delete敕令来删除student表中的所以纪录:

delete from student;

也能够删除student表中的特定纪录:

delete from student where student_id =2;

上面的SQL敕令将删除student_id为2的纪录。实行该语句后,表中将只包括两条纪录:student_id为1和3的纪录。

什么是truncate敕令?

truncate敕令有助于从表中删除一切纪录。它还从数据库中删除表构造。因而,在特定表上实行truncate敕令时,它还会初始化主键。

以下SQL敕令将删除student表中的一切纪录。另外,它从数据库中删除表构造。

truncate table student;

delete和truncate敕令之间的区分是什么?

1、敕令范例

delete是数据操纵言语(DML)敕令;而truncate是数据定义言语(DDL)敕令。

2、功用

delete敕令依据指定的SQL语句从表中删除单个,多个或一切纪录;而truncate敕令从数据库中删除一切纪录和表构造。

3、Where子句

delete敕令支撑WHERE子句,能够运用带有DELETE的where子句来过滤和删除特定纪录;而,truncate敕令不支撑WHERE子句。

4、锁定

delete敕令采纳行级锁定,表中的每一行都被锁定以举行删除;truncate敕令采纳表级锁定,锁定了全部表以删除一切纪录。

5、索引视图

delete敕令能够与索引视图一同运用;而,truncate敕令不能与索引视图一同运用。

6、实行速率

因为delete敕令保护日记,因而速率很慢。然则,因为truncate敕令在事件日记中保护起码的日记纪录,因而实行速率更快。

7、表构造

delete敕令不会影响表构造,而truncate敕令会从数据库中删除表构造。

8、事件空间

delete敕令比truncate敕令运用更多的事件空间。

以上就是本篇文章的全部内容,愿望能对人人的进修有所协助。更多精彩内容人人能够关注ki4网相干教程栏目!!!

以上就是SQL敕令delete和truncate之间有什么区分?的细致内容,更多请关注ki4网别的相干文章!

标签:SQL命令deletetruncate


欢迎 发表评论: