MYSQL 删除命令 delete、truncate 、drop
目录
(图片来源网络,侵删)
一、delete
二、truncate
三、drop
四、delete,drop,truncate的区别
一、delete
作用:仅仅删除表数据,表结构保留,数据能回滚
命令格式
#删除全部数据 delete from 表名; #删除表中id为1的数据,其他的保留 delete from 表名 where id(字段名) =1; #按排序删除数据,删除升序前10条数据 delete FROM 表名 order by 字段名 limit 10 #关联表后删除数据 deletea from 表名1 as a left join 表名2 as b on a.id = b.id where b.cid > 10;
二、truncate
作用:仅仅删除表数据,表结构保留,数据不能回滚
命令格式
truncate table 表名;
三、drop
作用:表数据和表结构一起删除,数据不能回滚
命令格式
#删除表 drop table 表名; #删除数据库 drop database 数据库名;
alter
alter是drop的分支
#用于删除表中的列 alter table 表名 drop column 字段名; #用于删除表中的索引 alter table 表名 drop index 索引名;
四、delete,drop,truncate的区别
-
delete 和 truncate 仅仅删除表数据,drop 连表数据和表结构一起删除。
-
delete 是 DML 语句,操作完以后如果不想提交事务还可以回滚,truncate 和 drop 是 DDL语句,操作完马上生效,不能回滚。
-
执行的速度上,drop>truncate>delete。
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。