📜  在 sql 中加入更新查询(1)

📅  最后修改于: 2023-12-03 15:37:31.832000             🧑  作者: Mango

在 SQL 中加入更新查询

更新查询是 SQL 中的一种常见操作,它用于更新数据库表中的数据。我们可以通过 SQL 语句来实现对数据库表中的数据进行更新。

更新查询语法

更新查询的基本语法如下所示:

UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;

其中,table_name 表示要更新的数据库表名称,column1column2 表示要更新的列名,value1value2 表示要更新的值,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 子句来指定要更新的行。