MySQL UPDATE 语句用于修改表中的现有记录。 MySQL WHERE 子句可以与 UPDATE 语句一起使用来更新选定的行,否则所有行都将被分配更新的值。
所以UPDATE 时最好带上where条件查询语句。
语法
在 MySQL 中使用 UPDATE 语句的语法如下:
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition(s);
示例:
考虑一个数据库,其中包含名为Employee的表,包含以下记录:
EmpID | Name | City | Age | Salary |
---|---|---|---|---|
1 | John | London | 25 | 3000 |
2 | Marry | New York | 24 | 2750 |
3 | Jo | Paris | 27 | 2800 |
4 | Kim | Amsterdam | 30 | 3100 |
5 | Ramesh | New Delhi | 28 | 3000 |
6 | Huang | Beijing | 28 | 2800 |
更新EmpID 为 5 的员工的 Salary和City,语句将为:
UPDATE Employee
SET City = 'Mumbai', Salary = 2900
WHERE EmpID = 5;
-- 查看结果
SELECT * from Employee;
现在Employee表将包含以下记录:
EmpID | Name | City | Age | Salary |
---|---|---|---|---|
1 | John | London | 25 | 3000 |
2 | Marry | New York | 24 | 2750 |
3 | Jo | Paris | 27 | 2800 |
4 | Kim | Amsterdam | 30 | 3100 |
5 | Ramesh | Mumbai | 28 | 2900 |
6 | Huang | Beijing | 28 | 2800 |
同样,更新居住在London名字为John的Salary ,可以使用以下语句:
UPDATE Employee
SET Salary = 3200
WHERE Name = 'John' AND City = 'London';
-- 查看结果
SELECT * from Employee;
现在Employee表将包含以下记录:
EmpID | Name | City | Age | Salary |
---|---|---|---|---|
1 | John | London | 25 | 3200 |
2 | Marry | New York | 24 | 2750 |
3 | Jo | Paris | 27 | 2800 |
4 | Kim | Amsterdam | 30 | 3100 |
5 | Ramesh | Mumbai | 28 | 3000 |
6 | Huang | Beijing | 28 | 2800 |