📅  最后修改于: 2023-12-03 15:37:31.832000             🧑  作者: Mango
更新查询是 SQL 中的一种常见操作,它用于更新数据库表中的数据。我们可以通过 SQL 语句来实现对数据库表中的数据进行更新。
更新查询的基本语法如下所示:
UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;
其中,table_name
表示要更新的数据库表名称,column1
、column2
表示要更新的列名,value1
、value2
表示要更新的值,WHERE
子句用于指定要更新的行。
例如,更新 users
表中 name='John'
的用户的年龄:
UPDATE users SET age = 30 WHERE name = 'John'
为了更好地理解如何使用更新查询,在下面的实战演练中我们将使用一个简单的示例数据库,其中包含一个 students
表和一个 scores
表。
我们首先需要创建一个示例数据库。这里我们使用 SQLite 数据库,可以通过以下命令创建一个名为 example.db
的示例数据库:
sqlite3 example.db
然后执行以下 SQL 脚本创建 students
表和 scores
表:
CREATE TABLE students(
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER NOT NULL,
gender TEXT NOT NULL
);
CREATE TABLE scores(
id INTEGER PRIMARY KEY AUTOINCREMENT,
student_id INTEGER NOT NULL,
course TEXT NOT NULL,
score INTEGER NOT NULL,
FOREIGN KEY(student_id) REFERENCES students(id)
);
接下来我们需要向示例数据库中插入一些示例数据,以便进行更新查询操作。我们可以执行以下 SQL 脚本插入一些示例数据:
INSERT INTO students(name, age, gender) VALUES ('John', 20, 'male');
INSERT INTO students(name, age, gender) VALUES ('Alice', 21, 'female');
INSERT INTO students(name, age, gender) VALUES ('Bob', 22, 'male');
INSERT INTO scores(student_id, course, score) VALUES (1, 'math', 80);
INSERT INTO scores(student_id, course, score) VALUES (1, 'english', 90);
INSERT INTO scores(student_id, course, score) VALUES (2, 'math', 85);
INSERT INTO scores(student_id, course, score) VALUES (2, 'english', 95);
INSERT INTO scores(student_id, course, score) VALUES (3, 'math', 90);
INSERT INTO scores(student_id, course, score) VALUES (3, 'english', 100);
现在我们已经准备好进行更新查询了。我们假设现在要将 students
表中 name='John'
的学生的性别从 male
修改为 female
,可以执行以下 SQL 语句:
UPDATE students SET gender = 'female' WHERE name = 'John'
同样,假设现在要将 students
表中所有年龄大于 21 的学生的性别从 male
修改为 female
,可以执行以下 SQL 语句:
UPDATE students SET gender = 'female' WHERE age > 21
还可以进行多列更新。例如,假设现在要将 scores
表中 course='math'
且 score < 80
的学生成绩修改为 80,可以执行以下 SQL 语句:
UPDATE scores SET score = 80 WHERE course = 'math' AND score < 80
更新查询是 SQL 中的一种重要的数据操作方式,可以用于修改数据库表中的数据。在使用更新查询时,我们需要清楚地知道要更新的表的名称、要更新的列的名称和要更新的值,以及使用 WHERE
子句来指定要更新的行。