一、数据的删除
俗话说得好,时过境迁,数据库中的数据也不例外。在这个飞速发展的快节奏时代里,新知识不断涌现,数据也在更新着。当你愁着为一条条更改数据时,何尝不想着快速脱离囧Σ(っ °Д °;)っ境呢,也许对于某些数据库或数据来说,删除是个不错的选择,今天咱们就再来学一招。
部分数据删除
1.在数据库数据的删除中,我们使用的是 Delete语句
2.基本语法:
delete from <表名> where <删除的条件>
删除读者类型数据表中除了系统管理员的记录
mysql> select*from 读者类型;
+--------------+--------------+----------+----------+----------+----------------+------------+
| 读者类型编号 | 读者类型名称 | 限借数量 | 限借期限 | 续借次数 | 借书证有效日期 | 超期日罚金 |
+--------------+--------------+----------+----------+----------+----------------+------------+
| 01 | 系统管理员 | 30 | 360 | 6 | 5 | 0 |
| 02 | 图书管理员 | 20 | 180 | 6 | 5 | 0 |
| 03 | 特殊读者 | 30 | 360 | 6 | 5 | 0 |
| 04 | 一般读者 | 20 | 180 | 4 | 3 | 0 |
| 05 | 教师 | 20 | 180 | 6 | 5 | 0 |
| 06 | 学生 | 10 | 180 | 2 | 3 | 1 |
| 01 | 系统管理员 | 30 | 360 | 6 | 5 | 0 |
| 02 | 图书管理员 | 20 | 180 | 6 | 5 | 0 |
| 03 | 特殊读者 | 30 | 360 | 6 | 5 | 0 |
| 04 | 一般读者 | 20 | 180 | 4 | 3 | 0 |
| 05 | 教师 | 20 | 180 | 6 | 5 | 0 |
| 06 | 学生 | 10 | 180 | 2 | 3 | 1 |
+--------------+--------------+----------+----------+----------+----------------+------------+
12 rows in set (0.05 sec)
mysql> delete from 读者类型 where 读者类型名称!='系统管理员';
Query OK, 10 rows affected (0.01 sec)
mysql> select*from 读者类型;
+--------------+--------------+----------+----------+----------+----------------+------------+
| 读者类型编号 | 读者类型名称 | 限借数量 | 限借期限 | 续借次数 | 借书证有效日期 | 超期日罚金 |
+--------------+--------------+----------+----------+----------+----------------+------------+
| 01 | 系统管理员 | 30 | 360 | 6 | 5 | 0 |
| 01 | 系统管理员 | 30 | 360 | 6 | 5 | 0 |
+--------------+--------------+----------+----------+----------+----------------+------------+
2 rows in set (0.05 sec)
mysql> select 读者类型编号,读者类型名称 from 读者类型 order by 读者类型编号;
+--------------+--------------+
| 读者类型编号 | 读者类型名称 |
+--------------+--------------+
| 01 | 系统管理员 |
| 01 | 系统管理员 |
+--------------+--------------+
2 rows in set (0.05 sec)
当出现有重复的纪录在搜索时加上关键词 distinct 即可只显示出一条。
mysql> select distinct 读者类型编号,读者类型名称 from 读者类型 order by 读者类型编号;
+--------------+--------------+
| 读者类型编号 | 读者类型名称 |
+--------------+--------------+
| 01 | 系统管理员 |
+--------------+--------------+
1 row in set (0.06 sec)
全部数据删除
1.基本语法:
delete from <表名>
mysql> select*from 读者类型;
+--------------+--------------+----------+----------+----------+----------------+------------+
| 读者类型编号 | 读者类型名称 | 限借数量 | 限借期限 | 续借次数 | 借书证有效日期 | 超期日罚金 |
+--------------+--------------+----------+----------+----------+----------------+------------+
| 01 | 系统管理员 | 30 | 360 | 6 | 5 | 0 |
| 01 | 系统管理员 | 30 | 360 | 6 | 5 | 0 |
+--------------+--------------+----------+----------+----------+----------------+------------+
2 rows in set (0.06 sec)
mysql> delete from 读者类型;
Query OK, 2 rows affected (0.00 sec)
mysql> select*from 读者类型;
Empty set
2.truncate 语法
truncate table <表名>
truncate语法 与 delete语法 的主要区别是:truncate语法删除的表数据具有不可恢复性,速度快,使用的系统和事务日志资源少,将直接且只在事务日志记录页上释放,以达到删除数据的效果,这之后AUTO_INCREMENT计数器被重置为该列的初始值。
对于参与了索引和视图的表应当使用delete语法。
表的删除
1.drop 语法
drop table <表名>
来源:CSDN
作者:qq_45797116
链接:https://blog.csdn.net/qq_45797116/article/details/103568893