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。

相关推荐
陈天伟教授6 小时前
人工智能训练师认证教程(2)Python os入门教程
前端·数据库·python
Elastic 中国社区官方博客7 小时前
Elasticsearch:在分析过程中对数字进行标准化
大数据·数据库·elasticsearch·搜索引擎·全文检索
聪明努力的积极向上7 小时前
【MYSQL】字符串拼接和参数化sql语句区别
数据库·sql·mysql
代码or搬砖7 小时前
RBAC(权限认证)小例子
java·数据库·spring boot
神仙别闹7 小时前
基于QT(C++)实现学本科教务系统(URP系统)
数据库·c++·qt
2301_768350237 小时前
MySQL为什么选择InnoDB作为存储引擎
java·数据库·mysql
上海蓝色星球7 小时前
迈向智慧电网新纪元:上海蓝色星球数字孪生变电主子站系统
运维·数据库
是大芒果7 小时前
数据库表设计
数据库
哥哥还在IT中7 小时前
MySQL order by 如何优化
数据库·mysql
积跬步,慕至千里7 小时前
postgre数据库大批量快速导出方法总结
数据库·postgres