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。

相关推荐
大耳朵-小飞象7 小时前
智能调光4巨头争霸!轨道照明如何破局?
运维·智慧城市·智慧路灯·智能照明·楼宇智控·0-10v调光模块
sanzk7 小时前
firefly开发板ubuntu安装ros2下的micro-ROS Agent
linux·运维·ubuntu
嘘神秘用7 小时前
布:AI 驱动的 Redis 客户端,更快、更直观
数据库·人工智能·redis
努力进修9 小时前
Docker+cpolar 实战:打造灵活可控的远程办公系统
运维·docker·容器
其实防守也摸鱼9 小时前
运维--怎么看接口的请求和返回
运维·学习·网络安全·网络攻击模型·burpsuite·攻防对抗·蓝队
东北小狐狸-Hellxz9 小时前
Redis 哨兵搭建+ACL权限控制
数据库·redis
weixin_3077791310 小时前
Linux下Nginx故障系统化检查Shell脚本
linux·运维·服务器·nginx·自动化
研究员子楚10 小时前
GEO行业发展标准体系白皮书V2.0-第09卷 · 适配篇:硅基主权伦理宪章与行业适配宣言
数据库·人工智能·geo
CoderMeijun11 小时前
一条SQL查询语句在MySQL中是如何执行的
mysql·sql执行流程·连接器·mysql架构·索引下推·执行器
l1340620823512 小时前
鸿蒙实战:RDB 数据库设计与 DatabaseService
数据库·华为·harmonyos·鸿蒙系统