百度手机网站优化指南,济南网站推广哪家好,广宁县住房和城乡建设局网站,网站推广的作用一、用法不同
1、drop(丢弃数据): drop table 表名 #xff0c;直接将表都删除掉#xff0c;在删除表的时候使用。
2、truncate (清空数据) : truncate table 表名 #xff0c;只删除表中的数据#xff0c;再插入数据的时候自增长 id 又从 1 开始#xff0c;在清空表中数…一、用法不同
1、drop(丢弃数据): drop table 表名 直接将表都删除掉在删除表的时候使用。
2、truncate (清空数据) : truncate table 表名 只删除表中的数据再插入数据的时候自增长 id 又从 1 开始在清空表中数据的时候使用。
3、delete删除数据 : delete from 表名 where 列名值删除某一行的数据如果不加 where 子句和truncate table 表名作用类似。
truncate 和不带 where 子句的 delete、以及 drop 都会删除表内的数据但是 truncate 和 delete 只删除数据不删除表的结构(定义)执行 drop 语句此表的结构也会删除也就是执行 drop 之后对应的表不复存在。
二、属于不同的数据库语言
truncate 和 drop 属于 DDL(数据定义语言)语句操作立即生效原数据不放到 rollback segment 中不能回滚操作不触发 trigger。而 delete 语句是 DML (数据库操作语言)语句这个操作会放到 rollback segement 中事务提交之后才生效。 DML 语句和 DDL 语句区别 1DML 是数据库操作语言Data Manipulation Language的缩写是指对数据库中表记录的操作主要包括表记录的插入insert、更新update、删除delete和查询select是开发人员日常使用最频繁的操作。 2DDL Data Definition Language是数据定义语言的缩写简单来说就是对数据库内部的对象进行创建、删除、修改的操作语言。它和 DML 语言的最大区别是DML 只是对表内部数据的操作而不涉及到表的定义、结构的修改更不会涉及到其他对象。DDL语句更多的被数据库管理员DBA所使用一般的开发人员很少使用。 补充由于select不会对表进行破坏所以有的地方也会把select单独区分开叫做数据库查询语言DQLData Query Language 三、执行速度不同
一般来说drop truncate delete。
1、delete命令执行的时候会产生数据库的binlog日志而日志记录是需要消耗时间的但是也有个好处方便数据回滚恢复。
2、truncate命令执行的时候不会产生数据库日志因此比delete要快。除此之外还会把表的自增值重置和索引恢复到初始大小等。
3、drop命令会把表占用的空间全部释放掉。