sqldelete语句用法介绍

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语句,只符合标准将被删除表中的行:

代码如下

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' );

这将在供应商表delete语句,其中有一个客户表的名称是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' );