SQL敕令delete和truncate之间有什么区别?【MySQL教程】,SQL命令,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网别的相干文章!