16 更新和删除数据

1.更新数据

更新(修改)表中的数据,可以使用UPDATE语句,有两种方式:

更新表中的特定行;

更新表中的所有行。

注意,不要省略WHERE子句。

基本的UPDATE语句由三部分组成:

要更新的表;

列名和它们的新值;

确定要更新哪些行的过滤条件。

(1)UPDATE语句总是以要更新的表名开始,SET命令用来将新值赋给被更新的列,以WHERE子句结束,它告诉DBMS更新哪一行。

为了更新客户1000000005的电子邮件地址,输入:

UPDATE Customers

SET cust_mail = 'kim@thetoystore.com'

WHERE cust_id = '1000000005';

(2)更新多个列的语法稍有不同,在更新多列时,只需要使用一条SET命令。

输入:

UPDATE Customers

SET cust_contact = 'Sam Roberts' ,

cust_email = 'sam@toyland.com'

WHERE cust_id = '1000000006';

(3)要删除某个列的值,可设置它为NULL。输入:

UPDATE Customers

SET cust_email = 'NULL'

WHERE cust_id = '1000000005';

2.删除数据

删除(修改)表中的数据,可以使用DELETE语句,有两种方式:

删除表中的特定行;

删除表中的所有行。

注意,不要省略WHERE子句。

(1)DELETE FROM要求指定从中删除数据的表名,WHERE子句过滤要删除的行。如果省略WHERE子句,将删除表中的所有顾客。

Customers表中删除一行,输入:

DELETE FROM Customers

WHERE cust_id = '1000000006';

要点:

DELETE不需要列名或通配符,删除整行而不是整列;

要删除指定的列,请使用UPDATE语句;

DELETE删除表的内容但不删除表本身;

要删除所有行,可使用更快的TRUNCATE TABLE语句。

3.更新和删除的指导原则

(1)除非却是打算更新和删除每一行,否则不要省略WHERE子句;

(2)保证每个表都主键;

(3)UPDATEDELETE语句使用WHERE子句之前,应先用SELECT进行测试,保证它过滤的是正确的记录,以防编写的WHERE子句不正确;

(4)使用强制实施引用完整性的数据库,这样DBMS将不允许删除其数据与其他表相关联的行;

(5)有的DBMS允许数据库管理员施加约束,防止执行不带WHERE子句的UPDATEDELETE语句。

原文地址:https://www.cnblogs.com/Sumomo0516/p/6131564.html