📜  插入的 sql - SQL (1)

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

插入的 SQL - SQL

在关系型数据库中,插入(Insert)操作用于将新的数据添加到现有的表中。插入的 SQL 语句是其中之一。本文将介绍 SQL 插入操作以及一些相关的特性和用法。

SQL 插入操作语法

插入操作的 SQL 语法如下:

INSERT INTO 表名 (字段1, 字段2, ...) VALUES (值1, 值2, ...);

其中,关键字 INSERT INTO 引入插入操作,表名指定要插入数据的目标表,字段和值分别指定要插入的数据的列和对应的值。

以下是一个例子:

INSERT INTO students (id, name, age, grade) VALUES (1, 'Tom', 18, 'A');

上述 SQL 语句将向表 students 中插入一行数据,其中 id 列为 1,name 列为 'Tom',age 列为 18,grade 列为 'A'。

插入操作的特性和用法
默认值

如果表中的某些列定义了默认值,那么在插入操作中可以省略这些列的值,数据库会自动使用默认值。例如,如果 students 表中 grade 列定义了默认值为 'B',那么以下 SQL 语句也是合法的:

INSERT INTO students (id, name, age) VALUES (2, 'Jack', 19);
插入多行数据

可以一次插入多行数据,只需在 SQL 语句中指定多组字段和值即可。以下是一个例子:

INSERT INTO students (id, name, age, grade) VALUES (3, 'Mike', 20, 'B'), (4, 'Jane', 19, 'A'), (5, 'Bob', 18, 'A');

上述 SQL 语句会向 students 表中插入三行数据,分别是 id 为 3、4、5 的三个学生。

插入查询结果

可以使用 SELECT 语句查询出一个结果集,然后将其插入到目标表中。以下是一个例子:

INSERT INTO students (id, name, age, grade) SELECT id, name, age, 'B' FROM temp_students WHERE age > 20;

上述 SQL 语句会在表 temp_students 中查找年龄大于 20 岁的学生,并将他们的 id、name、age 和默认值为 'B' 的 grade 插入到表 students 中。

插入快捷语法

一些数据库系统提供了快捷的插入语法,例如 MySQL 的 INSERT INTO ... ON DUPLICATE KEY UPDATE 语句。这个语句可用于插入新行或更新已有行。以下是一个例子:

INSERT INTO students (id, name, age, grade) VALUES (6, 'Lucy', 18, 'A') ON DUPLICATE KEY UPDATE grade='A';

上述 SQL 语句会向 students 表插入一行数据,其中 id 为 6,name 为 'Lucy',age 为 18,grade 为 'A'。如果这个 id 已经存在,那么会将其对应的 grade 更新为 'A'。

总结

SQL 插入操作是将新数据添加到现有表中的重要方式。通过了解插入操作的语法和特性,可以更好地使用 SQL 语言操作数据库。