栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

MySQL基础知识—删除表和表数据

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MySQL基础知识—删除表和表数据

delete语句 语法格式
delete from 表名 where 条件;

注意:没有条件的话整张表都会被删除。

使用delete语句删除后,硬盘上的物理空间不会被释放掉。

缺点:删除效率低

优点:支持回滚

示例 删除id为2的表行
mysql> select * from t_user;
+----+------+------------+
| id | name | birth      |
+----+------+------------+
|  1 | jack | 2000-10-11 |
|  1 | jack | 2000-10-11 |
|  2 | kd   | 1992-10-01 |
+----+------+------------+
3 rows in set (0.03 sec)

mysql> delete from t_user where id = 1;
Query OK, 2 rows affected (0.06 sec)
mysql> select * from t_user;
+----+------+------------+
| id | name | birth      |
+----+------+------------+
|  2 | kd   | 1992-10-01 |
+----+------+------------+
1 row in set (0.03 sec)
删除t_user表
mysql> delete from t_user;
Query OK, 1 row affected (0.07 sec)
mysql> select * from t_user;
Empty set
支持回滚
mysql> start transaction;
Query OK, 0 rows affected (0.00 sec)

mysql> delete from t_user;
Query OK, 3 rows affected (0.00 sec)
mysql> select * from t_user;
Empty set

mysql> rollback;
Query OK, 0 rows affected (0.03 sec)

mysql> select * from t_user;
+----+------+------------+
| id | name | birth      |
+----+------+------------+
|  1 | kd   | 1992-01-01 |
|  2 | kd   | 1992-01-01 |
|  3 | kd   | 1992-01-01 |
+----+------+------------+
3 rows in set (0.03 sec)
删除表
drop table if exists t_student;

如果表存在的话,删除

结果:

mysql> drop table if exists t_student;
Query OK, 0 rows affected (0.23 sec)

mysql> desc t_student;
1146 - Table 'mysql.t_student' doesn't exist
快速删除表—truncate(DDL)

truncate语句删除表中的数据,物理删除

语法格式

truncate table 表名;

优点:删除效率高

缺点:无法回滚

mysql> select * from t_user;
+----+------+------------+
| id | name | birth      |
+----+------+------------+
|  1 | kd   | 1992-01-01 |
|  2 | kd   | 1992-01-01 |
|  3 | kd   | 1992-01-01 |
+----+------+------------+
3 rows in set (0.03 sec)

mysql> truncate table t_user;
Query OK, 0 rows affected (0.51 sec)
mysql> select * from t_user;
Empty set

mysql> rollback;
Query OK, 0 rows affected (0.00 sec)

mysql> select * from t_user;
Empty set

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/308685.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号