
当然,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;注意事项
- 确保提供的值与指定列的数据类型匹配。
- 如果未指定列名,则必须为所有列提供值,并且值的顺序应与表中的列顺序相匹配。
- 对于具有唯一约束、主键约束或外键约束的列,确保插入的值不会违反这些约束。
通过理解这些基本规则和示例,你应该能够成功地使用 INSERT INTO 语句将数据插入到你的数据库中。
