SQL INSERT INTO

在 SQL 中,我们使用 INSERT INTO 语句向数据库表插入新行。

示例

-- insert a row in the Customers table

INSERT INTO Customers(customer_id, first_name, last_name, age, country)
VALUES
(7, 'Ron', 'Weasley', 31, 'UK');

这里,SQL 命令使用给定值向 Customers 表插入新行。


INSERT INTO 语法

INSERT INTO table_name(column1, column2, column3, ...)
VALUES
(value1, value2, value3, ...);

这里,

  • table_name 是要插入新行的表
  • column1, column2, column3, ... 是要插入值的列
  • value1, value2, value3, ... 是要插入的值

示例:向表中插入行

在 SQL 中,INSERT INTO 语句用于向数据库表插入新行。

-- insert a row in the Customers table

INSERT INTO Customers(customer_id, first_name, last_name, age, country)
VALUES
(5, 'Harry', 'Potter', 31, 'USA');

这里,SQL 命令使用给定值向 Customers 表插入新行。

How to insert rows in a table in SQL?
示例:SQL Insert Into

注意: 如果您想从任何其他现有表中插入行,您可以使用 SQL INSERT INTO SELECT 语句。

也可以在不指定列的情况下插入行中的值。例如,

INSERT INTO Customers
VALUES
(5,'Harry', 'Potter', 31, 'USA');

这里,SQL 命令将新行按顺序插入到每个列中。

注意: 如果我们不指定列名,则数据库表中的列顺序必须与 SQL 查询中值的顺序匹配。我们还需要为自动递增的字段提供值。


仅在指定列中插入数据

如果在行插入期间跳过列名,则这些列的值将为 NULL

Not Including All Columns During Insertion
插入时未包含所有列

这里,SQL 命令将 country 列的值设置为 NULL。但是,由于 自动递增约束customer_id 列是自动递增的。

注意: 如果某列不允许 NULL 值,则 SQL 查询将导致错误。要了解更多信息,请访问 NOT NULL 约束


示例:在 SQL 中一次插入多行

也可以一次向数据库表插入多行。例如,

INSERT INTO Customers(first_name, last_name, age, country)
VALUES
('Harry', 'Potter', 31, 'USA'),
('Chris', 'Hemsworth', 43, 'USA'),
('Tom', 'Holland', 26, 'UK');

这是代码的结果。

SQL Insert Multiple Rows
SQL 插入多行

这里,SQL 命令向 Customers 表插入三行。


另请阅读

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战