DELETE

如果要删除数据库表中的记录,我们可以使用DELETE语句。

sql-delete

DELETE语句的基本语法是:

  1. DELETE FROM <表名> WHERE ...;

例如,我们想删除students表中id=1的记录,就需要这么写:

DELETE - 图2

注意到DELETE语句的WHERE条件也是用来筛选需要删除的行,因此和UPDATE类似,DELETE语句也可以一次删除多条记录:

DELETE - 图3

如果WHERE条件没有匹配到任何记录,DELETE语句不会报错,也不会有任何记录被删除。例如:

DELETE - 图4

最后,要特别小心的是,和UPDATE类似,不带WHERE条件的DELETE语句会删除整个表的数据:

  1. DELETE FROM students;

这时,整个表的所有记录都会被删除。所以,在执行DELETE语句时也要非常小心,最好先用SELECT语句来测试WHERE条件是否筛选出了期望的记录集,然后再用DELETE删除。

MySQL

在使用MySQL这类真正的关系数据库时,DELETE语句也会返回删除的行数以及WHERE条件匹配的行数。

例如,分别执行删除id=1id=999的记录:

  1. mysql> DELETE FROM students WHERE id=1;
  2. Query OK, 1 row affected (0.01 sec)
  3. mysql> DELETE FROM students WHERE id=999;
  4. Query OK, 0 rows affected (0.01 sec)

小结

使用DELETE,我们就可以一次删除表中的一条或多条记录。

读后有收获可以支付宝请作者喝咖啡

DELETE - 图5