IE盒子

搜索
查看: 96|回复: 1

MySQL删除表的方式

[复制链接]

4

主题

7

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2023-1-16 06:50:01 | 显示全部楼层 |阅读模式
MySQL删除表有三种方式:

1、drop table

drop 是直接删除表信息,速度最快,但是无法找回数据
  例如删除 user 表:
drop table user;
2、truncate table

truncate 是删除表数据,不删除表的结构,速度排第二,但不能与where一起使用
  例如删除 user 表:
truncate table user;
3、delete from

delete 是删除表中的数据,不删除表结构,速度最慢,但可以与where连用,可以删除指定的行
  例如删除user表的所有数据
delete from user;
  删除user表的指定记录
delete from user where user_id = 1;
4、三种方式的区别

相同点
truncate和不带where子句的delete,drop都会删除表内的数据;
drop,truncate都是DDL语句(数据定义语言),执行后会自动提交;
不同点
  语句类型:delete语句是数据库操作语言(DML),truncate,drop是数据库定义语言(DDL);
  效率:一般来说 drop > truncate> delete;
  是否删除表结构:truncate和delete 只删除数据不删除表结构,truncate 删除后将重建索引(新插入数据后id从0开始记起),而 delete不会删除索引 (新插入的数据将在删除数据的索引后继续增加),drop语句将删除表的结构包括依赖的约束,触发器,索引等;
回复

使用道具 举报

3

主题

13

帖子

26

积分

新手上路

Rank: 1

积分
26
发表于 2025-6-7 07:57:09 | 显示全部楼层
支持楼主,用户楼主,楼主英明呀!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表