昨天介绍了 MySQL 数据库 UPDATE 更新的用法,今天来讲解下 DELETE 语句。
语法
在使用 MySQL 的过程中,经常会有删除数据的需求。这时,我们可以使用 DELETE FROM 命令来删除指定的记录。
老规矩,先介绍一下语法。以下是 DELETE 语句从 MySQL 数据表中删除数据的通用语法:
DELETE FROM table_name
WHERE condition;
参数说明
- table_name 是你要删除数据的表的名称。
- WHERE condition 是一个可选的子句,用于指定删除的行。如果省略 WHERE 子句,将删除表中的所有行。
更多说明
- 如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。
- 你可以在 WHERE 子句中指定任何条件。
- 您可以在单个表中一次性删除记录。
当你想删除数据表中指定的记录时,WHERE 子句是非常有用的。切记谨慎使用,如果少了某个条件,可能会导致数据误删。
参数介绍完成,接下来通过一些实例来详细介绍下该如何使用。
实例01
-- 2024.01.19 删除学生表
DELETE FROM sm_students WHERE student_id = '151203419';
-- 解释:删除符合条件的行(将学号为“151203419”的学生信息删除)。
删除前
删除后
实例02
-- 2024.01.19 删除学生表
DELETE FROM sm_students;
-- 解释:删除所有行(将所有学生信息删除)。
删除前
删除后
实例03
-- 2024.01.19 删除用户表
DELETE nm_users FROM nm_users WHERE user_id NOT IN (SELECT DISTINCT create_code FROM nm_login_log WHERE create_date >= DATE_ADD(CURDATE(), INTERVAL - 6 MONTH));
-- 解释:使用子查询删除符合条件的行(将6个月内未登录过系统的用户信息删除)。
全部用户
6个月内登录过系统的用户
删除后的用户
注意: 在使用 DELETE 语句时,请确保你提供了足够的条件来确保只有你想要删除的行被删除。如果不提供 WHERE 子句,将删除表中的所有行,可能导致不可预测的结果。
以上内容即为 MySQL 数据库使用 DELETE 语句的简单讲解,下期再见。