增删改查の改UPDATE
为了更新或者修改表中的数据,可以使用UPDATE语句,主要有两种更新方式,一种是更新表中特定行,一种是更新表中所有行。
在客户机/服务器的DBMS中,使用UPDATE语句可能需要特殊的安全权限,在试图使用UPDATE前,应该保证自己有足够的权限。
- 更新表中特定的行
要更新的表;
列名和它们的新值;
确定要更新哪些行的过滤条件。
例:
UPDATE Customers
SET cust_email = 'kim@thetoystore.com'
WHERE cust_id = '1000000005';
不要忽略WHERE子句!在使用UPDATE时一定要注意细心,因为稍不注意就会更新表中所有行。如果没有WHERE子句,MySQL将会更新表中该列所有的值。
更新多个列的语法稍有不同:
例:
UPDATE Customers
SET cust_contact = 'Sam Roberts',
cust_email = 'sam@toylan.com'
WHERE cust_id = '1000000006';
为了删除某个列的值,可设置它为NULL。
例:
UPDATE Customers
SET cust_email = NULL
WHERE cust_id = '1000000005';
- 带子查询的UPDATE语句
UPDATE 表名
SET 列名1 = 表达式1,列名2 = 表达式2...
WHERE 条件=(SELECT子句);
UPDATE语句中可以使用子查询,使得能用SELECT语句检索出的数据更新列数据。