SQL DELETE查询用于从表中删除现有记录.我们可以使用WHERE子句和DELETE查询来删除所选记录,否则将删除所有记录.
以下是通用查询语法删除命令.
DELETE [ TOP term ] FROM tableName [ WHERE expression ] [ LIMIT term ]
以上语法删除表中的行.如果指定了TOP或LIMIT,则最多删除指定的行数(如果为null或小于零,则无限制).
考虑具有以下记录的CUSTOMER表.
+----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 1 | Ramesh | 32 | Ahmedabad | 2000.00 | | 2 | Khilan | 25 | Delhi | 1500.00 | | 3 | kaushik | 23 | Kota | 2000.00 | | 4 | Chaitali | 25 | Mumbai | 6500.00 | | 5 | Hardik | 27 | Bhopal | 8500.00 | | 6 | Komal | 22 | MP | 4500.00 | | 7 | Muffy | 24 | Indore | 10000.00 | +----+----------+-----+-----------+----------+
以下命令将删除客户的详细信息,其ID为6.
DELETE FROM CUSTOMERS WHERE ID = 6;
执行上述命令后,执行以下命令检查Customer表.
SELECT * FROM CUSTOMERS;
以上命令产生以下输出 :
+----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 1 | Ramesh | 32 | Ahmedabad | 2000.00 | | 2 | Khilan | 25 | Delhi | 1500.00 | | 3 | kaushik | 23 | Kota | 2000.00 | | 4 | Chaitali | 25 | Mumbai | 6500.00 | | 5 | Hardik | 27 | Bhopal | 8500.00 | | 7 | Muffy | 24 | Indore | 10000.00 | +----+----------+-----+-----------+----------+
如果我们要删除CUSTOMERS表中的所有记录,我们不使用WHERE子句. DELETE查询如下:
DELETE FROM CUSTOMER;
执行上述命令后,Customer表中没有可用的记录.