MySQL基础教程

第一章: 环境搭建,安装MySQL

第二章: 掌握数据库的核心概念

第三章: MySQL服务与Show命令

第四章: 创建数据库与数据表

第五章: MySQL增查改删

第六章: MySQL常用函数

第七章: 在Python中操作MySQL

首页 > MySQL基础教程 > 第五章: MySQL增查改删 > 5.10节: 使用DELETE删除数据

5.10节: 使用DELETE删除数据

薯条老师 2021-12-03 18:39:24 186718 0

编辑 收藏

广州番禺Python, Java小班周末班培训

薯条老师在广州做Python和Java的小班培训,一个班最多10人,学员的平均就业薪资有11K不在广州的同学提供住宿,免住宿费,也可以报名线上直播班,跟线下小班的同学们同步学习。培训的课程有Python爬虫,Python后端开发,Python办公自动化,Python大数据分析,Python量化投资,Python机器学习,Java中高级后端开发。授课详情请点击:http://chipscoco.com/?cate=6

5.10.1 使用DELETE动词删除记录

SQL语法:

DELETE FROM table_reference [WHERE where_condition]

使用DELETE对数据表进行批量删除。读者要注意的是,应慎重使用DELETE动词的批量删除,在使用DELETE动词时,应该通过WHERE子句来指定筛选条件,只对指定的记录进行删除。

5.9.2 UPDATE的SQL实例

(1) 将商品表中的id为1的记录删除

mysql> delete from goods where id = 1;
Query OK, 1 row affected (0.01 sec)
mysql> select id, name, price from goods;
+----+--------------+-------+
| id | name         | price |
+----+--------------+-------+
|  2 | 云南白药     |    28 |
|  3 | 湖南辣条     |    19 |
|  5 | 湖南辣条     |    38 |
|  6 | 云南白药     |    19 |
|  7 | 云南白药     |    19 |
|  8 | 云南白药     |    23 |
|  9 | 青岛啤酒     |    21 |
+----+--------------+-------+
7 rows in set (0.00 sec)

(2) 将商品表中的(name, price)列相同的重复记录删除

mysql> delete from goods where id not in (select id from (select min(id) as id from goods group by name, price) as T);
Query OK, 1 row affected (0.03 sec)
mysql> select id,name,price from goods;
+----+--------------+-------+
| id | name         | price |
+----+--------------+-------+
|  2 | 云南白药     |    28 |
|  3 | 湖南辣条     |    19 |
|  5 | 湖南辣条     |    38 |
|  6 | 云南白药     |    19 |
|  8 | 云南白药     |    23 |
|  9 | 青岛啤酒     |    21 |
+----+--------------+-------+
6 rows in set (0.00 sec)

删除重复数据的逻辑并不复杂,先通过分组查询筛选出每组最小的ID:

(select min(id) as id from goods group by name, price) as T

假设有重复数据,那么每组的记录数一定大于2,此时仅需保留最小或最大的ID: 在外层套个子查询,保留每组最小的ID:

(select id from (select min(id) as id from goods group by name, price) as T)

然后删除除了每组最小ID之外的所有ID即可:

delete from goods where id not in (select id from (select min(id) as id from goods group by name, price) as T)

5.10.3 最具实力的小班培训

薯条老师在广州做Python和Java的小班培训,一个班最多10人。不在广州的同学提供住宿,免住宿费,也可以报名线上直播班,跟线下小班的同学们同步学习。打算参加小班培训的同学,必须遵守薯条老师的学习安排,认真做作业和项目。把知识学好,学扎实,那么找到一份高薪的工作就是很简单的一件事。

(1) Python后端工程师高薪就业班,月薪11K-18K,免费领取课程大纲
(2) Python爬虫工程师高薪就业班,年薪十五万,包拿Offer
(3) 数据分析高薪就业班,月薪11K-15K, 免费领取课程大纲
(4)
Python大数据挖掘,量化投资就业班,月薪12K-25K,免费领取课程大纲

扫码免费领取Python学习资料:



欢迎 发表评论: