SQL UPDATE语句用于修改数据库中已有的数据。 WHERE
子句中的条件决定要更新哪一行。
语法
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
假设有一个EMPLOYEE
表,它的结构和数据记录如下所示 -
EMP_ID | EMP_NAME | CITY | SALARY | AGE |
---|---|---|---|---|
1 | Angelina | Chicago | 200000 | 30 |
2 | Robert | Austin | 300000 | 26 |
3 | Christian | Denver | 100000 | 42 |
4 | Kristen | Washington | 500000 | 29 |
5 | Russell | Los angels | 200000 | 36 |
6 | Marry | Canada | 600000 | 48 |
更新EMP_NAME
列,并在SALARY
为500000
的行中将值设置为“Emma”
。
语法
UPDATE table_name SET column_name = value WHERE condition;
查询语句 -
UPDATE EMPLOYEE SET EMP_NAME = 'Emma' WHERE SALARY = 500000;
执行此查询后,EMPLOYEE
表将如下所示:
EMP_ID | EMP_NAME | CITY | SALARY | AGE |
---|---|---|---|---|
1 | Angelina | Chicago | 200000 | 30 |
2 | Robert | Austin | 300000 | 26 |
3 | Christian | Denver | 100000 | 42 |
4 | Emma | Washington | 500000 | 29 |
5 | Russell | Los angels | 200000 | 36 |
6 | Marry | Canada | 600000 | 48 |
如果要更新多个列,则应将用逗号分配的每个字段分开。 在EMPLOYEE
表中,将EMP_NAME
列更新为“Kevin”
,将CITY
更新为“Boston”
,指定EMP_ID
为5
。
语法
UPDATE table_name SET column_name = value1, column_name2 = value2 WHERE condition;
查询语句
UPDATE EMPLOYEE SET EMP_NAME = 'Kevin', City = 'Boston' WHERE EMP_ID = 5;
查询结果 -
EMP_ID | EMP_NAME | CITY | SALARY | AGE |
---|---|---|---|---|
1 | Angelina | Chicago | 200000 | 30 |
2 | Robert | Austin | 300000 | 26 |
3 | Christian | Denver | 100000 | 42 |
4 | Kristen | Washington | 500000 | 29 |
5 | Kevin | Boston | 200000 | 36 |
6 | Marry | Canada | 600000 | 48 |
如果要更新表中的所有行,则不需要使用WHERE
子句。 在EMPLOYEE
表中,将EMP_NAME
列更新为“Harry”
。
语法
UPDATE table_name SET column_name = value1;
查询语句如下 -
UPDATE EMPLOYEE SET EMP_NAME = 'Harry';
执行上面语句,得到以下结果 -
EMP_ID | EMP_NAME | CITY | SALARY | AGE |
---|---|---|---|---|
1 | Harry | Chicago | 200000 | 30 |
2 | Harry | Austin | 300000 | 26 |
3 | Harry | Denver | 100000 | 42 |
4 | Harry | Washington | 500000 | 29 |
5 | Harry | Los angels | 200000 | 36 |
6 | Harry | Canada | 600000 | 48 |