您的位置首页百科知识

insert into语句用法

insert into语句用法

的有关信息介绍如下:

insert into语句用法

INSERT INTO 语句用法

INSERT INTO 是 SQL 中用于向数据库表中插入新记录的基本语句。以下是其详细用法和示例:

基本语法

INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);
  • table_name:要插入数据的表的名称。
  • column1, column2, column3, ...:指定要插入值的列的名称(可选,如果省略则需要为所有列提供值)。
  • value1, value2, value3, ...:与前面指定的列相对应的值。

注意事项

  1. 列名可选:如果不指定列名,则必须为每个列按顺序提供值,并且不能遗漏任何列。
  2. 数据类型匹配:提供的值必须与相应列的数据类型匹配。
  3. 字符串值:字符串值需要用单引号括起来。
  4. 日期和时间值:日期和时间值也需要用特定的格式表示,并可能依赖于数据库系统。
  5. NULL 值:如果需要插入 NULL 值,可以显式地写 NULL 或在 VALUES 子句中省略该值(前提是已经省略了列名列表中的对应列)。

示例

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

CREATE TABLE students ( id INT PRIMARY KEY, name VARCHAR(100), age INT, grade VARCHAR(10) );
示例 1:插入完整行数据
INSERT INTO students (id, name, age, grade) VALUES (1, 'Alice', 20, 'A');
示例 2:插入部分列数据(其他列为默认值或允许 NULL)
INSERT INTO students (name, grade) VALUES ('Bob', 'B'); -- 这里 id 和 age 列将使用默认值(如果有的话),或者如果它们不允许 NULL,则会引发错误。
示例 3:插入多行数据

某些数据库支持在一个 INSERT INTO 语句中插入多行数据:

INSERT INTO students (id, name, age, grade) VALUES (2, 'Charlie', 22, 'A'), (3, 'David', 21, 'C');
示例 4:从另一个表中选择数据并插入

你也可以从一个表中选择数据并将其插入到另一个表中(假设两个表的结构兼容):

INSERT INTO students_backup (id, name, age, grade) SELECT id, name, age, grade FROM students;

这里 students_backup 是一个备份表,结构和 students 表相同。

错误处理

  • 如果尝试插入重复的主键值,将会引发主键冲突错误。
  • 如果某个列不允许 NULL 值且未为该列提供值,也会引发错误。
  • 数据类型和长度限制也会导致错误。

通过合理使用 INSERT INTO 语句,你可以有效地将数据添加到数据库中,从而管理和操作你的数据资源。