mysql:delete搭配order by子句实现删除及注意点

MySQL中的delete语句一般用于删除表的一行或者多行数据 。
推荐课程:MySQL教程 。

mysql:delete搭配order by子句实现删除及注意点

文章插图
以下是 SQL DELETE 语句从 MySQL 数据表中删除数据的通用语法:
DELETE FROM <表名> [WHERE 子句] [ORDER BY 子句] [LIMIT 子句]DELETE FROM table_name [WHERE Clause]<表名>:指定要删除数据的表名 。
ORDER BY 子句:可选项 。表示删除时,表中各行将按照子句中指定的顺序进行删除 。
WHERE 子句:可选项 。表示为删除操作限定删除条件,若省略该子句,则代表删除该表中的所有行 。
LIMIT 子句:可选项 。用于告知服务器在控制命令被返回到客户端前被删除行的最大值 。
当你想删除数据表中指定的记录时 WHERE 子句是非常有用的 。要限制要删除的行数,则可以配合Order By使用LIMIT子句 。



根据条件删除表中的数据
在 tb_courses_new 表中,删除 course_id 为 4 的记录,输入的 SQL 语句和执行结果如下所示 。
以下操作需在命令行中进行 。
【mysql:delete搭配order by子句实现删除及注意点】mysql>SELECT * FROM tb_courses+-----------+-------------+--------------+------------------+| course_id | course_name | course_grade | course_info |+-----------+-------------+--------------+------------------+|1 | Network |3 | Computer Network ||2 | Database |3 | MySQL||3 | Java |4 | Java EE||4 | Php|4 | phpstudy| +-----------+-------------+--------------+------------------+4 rows in set (0.00 sec)mysql> DELETE FROM tb_courses -> WHERE course_id=4;Query OK, 1 row affected (0.00 sec)mysql> SELECT * FROM tb_courses;+-----------+-------------+--------------+------------------+| course_id | course_name | course_grade | course_info |+-----------+-------------+--------------+------------------+|1 | Network |3 | Computer Network ||2 | Database |3 | MySQL||3 | Java |4 | Java EE|+-----------+-------------+--------------+------------------+3 rows in set (0.00 sec)