删除数据

为了从一个表中删除(去掉)数据,使用DELETE语句。可以两种方式使用DELETE:
 从表中删除特定的行;
 从表中删除所有行。

**不要省略WHERE子句 **
在使用DELETE时一定要注意细心。因为稍不注意,就会错误地删除表中所有行。

下面的语句从customers表中删除一行:
DELETE FROM customers WHERE cust_id=10012;
这条语句很容易理解。DELETE FROM要求指定从中删除数据的表名。
WHERE子句过滤要删除的行。在这个例子中,只删除客户10006。如果省略WHERE子句,它将删除表中每个客户。

DELETE不需要列名或通配符。DELETE删除整行而不是删除列。为了删除指定的列,请使用UPDATE语句。

如果想从表中删除所有行,不要使用DELETE。可使用TRUNCATE TABLE语句,它完成相同的工作,但速度更快(TRUNCATE实际是删除原来的表并重新创建一个表,而不是逐行删除表中的数据)。

许多SQL程序员使用UPDATE或DELETE时所遵循的习惯。
 除非确实打算更新和删除每一行,否则绝对不要使用不带WHERE子句的UPDATE或DELETE语句。
 保证每个表都有主键(如果忘记这个内容,请参阅第15章),尽可能像WHERE子句那样使用它(可以指定各主键、多个值或值的范围)。
 在对UPDATE或DELETE语句使用WHERE子句前,应该先用SELECT进行测试,保证它过滤的是正确的记录,以防编写的WHERE子句不正确。
 使用强制实施引用完整性的数据库(关于这个内容,请参阅第15章),这样MySQL将不允许删除具有与其他表相关联的数据的行。

posted @ 2020-09-25 16:48  bibicode  阅读(563)  评论(0)    收藏  举报