📅  最后修改于: 2023-12-03 15:35:06.440000             🧑  作者: Mango
本文将会介绍几个常见的SQL案例更新,以帮助程序员更好地理解SQL的应用。
如果需要更新一张表中的某个列的值,可以使用以下的SQL语句:
UPDATE table_name SET column_name = new_value WHERE condition;
其中,table_name
为需要更新的表名,column_name
为需要更新的列名,new_value
为新值,condition
为筛选条件。
例如,想要将表students
中的age
列全部修改为20
,可以使用以下语句:
UPDATE students SET age = 20;
还可以加上WHERE
语句,限制更新的范围。例如,只想将age
小于18
的行修改为18
,可以使用以下语句:
UPDATE students SET age = 18 WHERE age < 18;
如果要更新一张表中的多个列的值,可以使用以下的SQL语句:
UPDATE table_name SET column1 = new_value1, column2 = new_value2, ... WHERE condition;
例如,想要将表students
中的age
、gender
和score
三列全部修改,可以使用以下语句:
UPDATE students SET age = 20, gender = 'male', score = 100;
如果需要更新多张表中关联的数据,可以使用以下的SQL语句:
UPDATE table1 SET column1 = new_value1
FROM table1
INNER JOIN table2 ON table1.id = table2.id
WHERE condition;
其中,table1
和table2
是需要更新的两张表,column1
是需要更新的列,new_value1
是新值,id
是关联的列,condition
是筛选条件。
例如,想要将表students
中的score
列修改为100
,并将表class
中的teacher
列修改为Mr. Zhang
,可以使用以下语句:
UPDATE students
INNER JOIN class ON students.class_id = class.id
SET students.score = 100, class.teacher = 'Mr. Zhang'
WHERE class.name = 'Math';
如果需要修改某一列的值,但不是固定值,而是需要根据条件进行自增或自减操作,则可以使用以下的SQL语句:
UPDATE table_name SET column_name = column_name +/- increment WHERE condition;
其中,table_name
为需要更新的表名,column_name
为需要更新的列名,+/-
是自增或自减符号,increment
是递增或递减的量,condition
是筛选条件。
例如,想要将表students
中的score
列全部增加10
,可以使用以下语句:
UPDATE students SET score = score + 10;
还可以加上WHERE
语句,限制更新的范围。例如,只想将score
大于80
的行修改为100
,可以使用以下语句:
UPDATE students SET score = score + 20 WHERE score > 80;