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' );
|
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn