欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

sql delete 语句用法介绍

程序员文章站 2022-05-02 08:42:26
...

DELETE 语句用于删除表中的行,这种删除理论上来是不是可恢复的,但是经过一些高级的处理还是可以恢复数据的,不过比较麻烦了。

语法
DELETE FROM 表名称 WHERE 列名称 = 值

国外网站参考

代码如下 复制代码

The SQL DELETE command has the following generic SQL syntax:


DELETE FROM Table1
WHERE Some_Column = Some_Value

如果你跳过的SQL WHERE子句执行DELETE语句表达时,然后在指定的表的所有数据将被删除。下面的SQL语句会从客户表中删除所有的数据和我们?l升完全空表:

代码如下 复制代码
DELETE FROM Table1


如果您指定一个WHERE子句在您的SQL DELETE语句,只符合标准将被删除表中的行:

代码如下 复制代码

DELETE FROM Customers
WHERE LastName = 'Smith'

删除更多
您也可以执行更复杂的删除。

您可能希望基于另一个表中的值的一个表中删除记录。既然你不能FROM子句中列出多个表中,当您执行删除,您可以使用EXISTS子句
For example:

代码如下 复制代码

DELETE FROM suppliers
WHERE EXISTS
( customers.name
from customers
where customers.customer_id = suppliers.supplier_id
and customers.customer_name = 'IBM' );

这将在供应商表,其中有一个客户表的名称是IBM,CUSTOMER_ID是相同的supplier_id记录中删除所有记录。

了解EXISTS的条件。

如果你想确定将被删除的行的数目,您可以运行下面的SQL语句,在执行删除之前。

代码如下 复制代码


SELECT count(*) FROM suppliers
WHERE EXISTS
( select customers.name
from customers
where customers.customer_id = suppliers.supplier_id
and customers.customer_name = 'IBM' );