INSERT INTO的语法格式

INSERT INTO的语法格式

当然,INSERT INTO 是 SQL 中用于向表中插入新记录的基本语句。以下是 INSERT INTO 语句的一般语法格式:

基本语法

INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);
  • table_name: 要插入数据的表的名称。
  • column1, column2, column3, ...: 指定要插入数据的列的名称(可选)。如果省略此部分,则必须为表中的所有列提供值,并且值的顺序必须与表中的列顺序一致。
  • value1, value2, value3, ...: 与前面指定的列相对应的值。

示例

假设有一个名为 students 的表,结构如下:

CREATE TABLE students ( id INT PRIMARY KEY, name VARCHAR(50), age INT, grade VARCHAR(10) );

插入完整行

如果要将一条完整的记录插入到 students 表中,可以使用以下语句:

INSERT INTO students (id, name, age, grade) VALUES (1, 'Alice', 20, 'A');

插入部分列的数据

如果只想为某些列插入数据,而其他列允许为空或具有默认值,可以省略那些列:

INSERT INTO students (name, grade) VALUES ('Bob', 'B');

在这种情况下,id 和 age 列将使用它们的默认值(如果有的话),或者如果这些列不允许为空且没有默认值,则会导致错误。

插入多行数据

还可以使用单个 INSERT INTO 语句一次插入多行数据:

INSERT INTO students (id, name, age, grade) VALUES (2, 'Charlie', 22, 'A'), (3, 'David', 21, 'C'), (4, 'Eva', 23, 'B');

使用 SELECT 插入数据

有时你可能希望从一个表中选择数据并插入到另一个表中。这可以通过使用 INSERT INTO ... SELECT 语法来实现:

INSERT INTO another_table (column1, column2, column3) SELECT column1, column2, column3 FROM original_table WHERE condition;

注意事项

  1. 确保提供的值与指定列的数据类型匹配。
  2. 如果未指定列名,则必须为所有列提供值,并且值的顺序应与表中的列顺序相匹配。
  3. 对于具有唯一约束、主键约束或外键约束的列,确保插入的值不会违反这些约束。

通过理解这些基本规则和示例,你应该能够成功地使用 INSERT INTO 语句将数据插入到你的数据库中。