📜  mysql 删除行 - SQL (1)

📅  最后修改于: 2023-12-03 14:44:29.128000             🧑  作者: Mango

MySQL 删除行 - SQL

在 MySQL 数据库中,删除行是一个非常常见的操作。本文将介绍如何在 MySQL 中使用 SQL 语句删除行,并包括以下内容:

  • DELETE 语句的语法和用法
  • DELETE 语句的注意事项和使用技巧
  • 实际应用场景和示例代码
DELETE 语句的语法和用法

使用 DELETE 语句可以删除表中的行,它的基本语法如下:

DELETE FROM table_name
WHERE condition;

其中,table_name 指需要删除行的表名,condition 指筛选要删除的行的条件。

如果 WHERE 子句没有指定条件,则会删除表中的所有行。

以下示例将删除 users 表中 id 为 1 的行:

DELETE FROM users WHERE id = 1;
DELETE 语句的注意事项和使用技巧
  • DELETE 语句是一个危险的操作,务必在操作前备份数据。
  • DELETE 语句删除行后是无法恢复的,因此在执行时请再三确认。
  • DELETE 语句的执行速度较慢,尤其是涉及大量数据的表。
  • 可以使用 TRUNCATE 语句删除表中的所有数据,它比 DELETE 语句执行速度更快,但是无法核查删除操作。
实际应用场景和示例代码

下面是一些实际的应用场景,展示如何使用 DELETE 语句删除 MySQL 数据库表中的行。

删除当天未激活的用户

以下代码可以删除 users 表中当天未激活的用户:

DELETE FROM users WHERE activated = 0 AND created_time < CURDATE();
删除过期订单

以下代码可以删除 orders 表中过期的订单:

DELETE FROM orders WHERE status = 'unpaid' AND expire_time < NOW();
删除重复数据

以下代码可以删除 orders 表中重复的数据(按 id 字段判断):

DELETE o1 FROM orders o1, orders o2 WHERE o1.id > o2.id AND o1.name = o2.name;

以上就是关于在 MySQL 中使用 DELETE 语句删除行的介绍和示例代码,希望对您的开发工作有所帮助。