SQL UPDATE 更新语句
时间:2018-11-15 17:15:12 来源:igfitidea点击:
在本教程中,我们将学习如何使用SQLUPDATE语句修改表中现有的数据。
SQL UPDATE更新语法
UPDATE语句更改表中一行或多行中的现有数据。
UPDATE语句的语法是:
UPDATE table SET column1 = new_value1, column2 = new_value2, ... WHERE condition;
要更新表中的数据,需要:
首先,在UPDATE子句中指定要更改数据的表名。
其次,为要更新的列指定一个新值。如果要更新多个列中的数据,则每个列=值对用逗号(,)分隔。
第三,在WHERE子句中指定要更新的行。WHERE子句是可选的。如果省略WHERE子句,表中的所有行都将被更新。
执行语句后,数据库将返回一条消息,显示受影响的行数。
SQL UPDATE更新语句示例
让我们看一下将UPDATE语句用于employees表的一些示例:
SQL UPDATE更新一列数据示例
假设有员工Janet,她的id是3,她结婚了,所以您需要在employees表中更改她的姓氏。
首先查看一下更新前Janet在员工表中的记录如下:
SELECT employeeid, lastname, firstname FROM employees WHERE employeeid = 3;
以下语句将Janet的姓氏从Levering改为Hill:
UPDATE employees SET lastname = 'Hill' WHERE employeeID = 3;
SQL UPDATE更新多列示例
假设,Janet搬到了一个新家,因此她的地址改变了。现在,必须在employees表中使用以下语句对其进行更改:
UPDATE employees SET address = '1300 Carter St', city = 'San Jose', postalcode = 95125, region = 'CA' WHERE employeeID = 3;
SQL UPDATE更新多行
下面语句将工资低于2000美元的员工的工资全部增加2%:
UPDATE employees SET salary = salary * 1.02 WHERE salary < 2000;
从SELECT语句中进行更新
以下查询负责超过100个订单的销售人员:
SELECT employeeid, COUNT(orderid) FROM orders WHERE shippeddate IS NOT NULL GROUP BY employeeid HAVING COUNT(orderid) > 100;
下面的查询将最佳销售人员的工资提高5%。最佳销售人员的ID由子查询获取。
UPDATE employees SET salary = salary * 1.05 WHERE employeeid IN (SELECT employeeid FROM (SELECT employeeid, COUNT(orderid) FROM orders WHERE shippeddate IS NOT NULL GROUP BY employeeid HAVING COUNT(orderid) > 100) bestsalesperson)