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。

相关推荐
宇钶宇夕1 分钟前
SIMATIC S7-1200的以太网通信能力:协议与资源详细解析
运维·服务器·数据库·程序人生·自动化
杰夫贾维斯9 分钟前
CentOS Linux 8 的系统部署 Qwen2.5-7B -Instruct-AWQ
linux·运维·人工智能·机器学习·centos
LuckyLay19 分钟前
1.1.1数据类型与变量——AI教你学Django
数据库·django·sqlite
汤姆大聪明1 小时前
Redis 持久化机制
数据库·redis·缓存
CodeWithMe1 小时前
【Note】Linux Kernel 实时技术深入:详解 PREEMPT_RT 与 Xenomai
linux·运维·服务器
muyun28001 小时前
安全访问云端内部应用:用frp的stcp功能解决SSH转发的痛点
运维·安全·ssh·frp
AI迅剑2 小时前
模块三:现代C++工程实践(4篇)第三篇《C++与系统编程:Linux内核模块开发入门》
linux·运维·服务器
brevity_souls2 小时前
什么是时序数据库?——原理、特点与应用
数据库·时序数据库
SelectDB2 小时前
Apache Doris 实时更新技术揭秘:为何在 OLAP 领域表现卓越?
数据库·数据分析·apache
专一的咸鱼哥2 小时前
Linux驱动开发(platform 设备驱动)
linux·运维·驱动开发