SQL INSERT 语句

SQL Server INSERT 语句将新记录添加到表或将数据加载到表中。此 INSERT 语句的语法如下所示。

INSERT INTO [DestinationTable] ([Column1], [Column2],..., [ColumnN])
VALUES ([Column1_Value], [Column2_Value],..., [ColumnN_Value])
  • DestinationTable:完全限定要放入记录的表名
  • Column1…..ColumnN:从表中选择列数。
  • Column1_Value…..ColumnN_Value:您要放入的值。例如,为 Column1 加载 Column1_Value。如果省略字段名,则必须按照目标表结构定义的顺序指定 column_values(字段值)。

我们可以将此 INSERT 语句写作:

INSERT INTO [DestinationTable]
VALUES ([Column1_Value], [Column2_Value],..., [ColumnN_Value])

此表包含两条记录,我们将对其执行插入操作。

Table

SQL Server INSERT 语句示例

此 INSERT 语句示例以更传统的方式将新记录放入表中。此处,我们没有加载 ID 值,因为它是一个标识列,它将自动更新。

INSERT INTO [dbo].[SQLInsert] (
	[FirstName], [LastName], [Occupation], [YearlyIncome], [Sales])
VALUES ('Tutorial', 'Gateway', 'Education', 10000, 200)
Insert Statement 2

如果我们将所有列的数据加载到目标中,则可以忽略目标的列名(语法 2)。这意味着上面的 INSERT 语句也可以写成:

INSERT INTO [dbo].[SQLInsert] 
VALUES ('SQL', 'Programming', 'Database', 50000, 1800)

提示:忽略列名不是一个好习惯。因此,在 SQL Server 中始终提供列名。

以上查询会将数据放入 [FirstName]、[LastName]、[Occupation]、[YearlyIncome] 和 [Sales] 列。每当您省略字段名时,都必须按照目标结构定义的顺序指定 column_values(字段值)。这意味着 SQL 值将放入 [FirstName] 列等。

View rows 4

如何将多条记录插入到表中?

此 SQL Server INSERT 语句示例以更传统的方式将多条记录加载到表中。

INSERT INTO [SQLInsert] 
VALUES ('Virat', 'Kohli', 'Cricket', 15700, 800)
INSERT INTO [dbo].[SQLInsert] 
VALUES ('Rohit', 'Sharma', 'Cricket', 15000, 500)
multiple records 10

加载多条记录最古老的方法。

INSERT INTO [SQLInsert] 
SELECT 'John', 'Levi', 'Professional', 75700, 1900
UNION ALL
SELECT 'Doe', 'Martin', 'Management', 95000, 5600
Insert Statement 5

这里,我们使用最流行的方法将多条记录放入表中。它适用于 2008 及更高版本。

INSERT INTO [SQLInsert] 
VALUES ('Imran', 'Khan', 'Skilled Professional', 15900, 100)
      ,('Doe', 'Lara', 'Management', 15000, 60)
      ,('Ramesh', 'Kumar', 'Professional', 65000, 630)

如何将少量记录插入到表中?

在此 SQL Server INSERT 语句示例中,我们将少量记录放入表中。请记住,当您将少量记录加载到目标时,必须指定列名。

INSERT INTO [dbo].[SQLInsert] (
	 [FirstName], [Occupation], [Sales])
VALUES ('Insert', 'SQL Tutorials', 1225)

以上查询会将数据放入 [FirstName]、[Occupation] 和 [Sales] 列。剩余列中将添加 NULL 值。

Load Few Records 7

INSERT INTO SELECT 语句

我们用于查询的 Employ 表

在此 SQL INSERT 语句示例中,我们从 Employ 表中选择行并将其加载到目标中。这里,我们使用 WHERE 子句限制行。

INSERT INTO [dbo].[SQLInsert] 
	SELECT [FirstName], [LastName], [Occupation], [YearlyIncome], [Sales]
	FROM Employ
	WHERE ID > 2

以上查询将源表中 [ID] 值大于 2 的 [FirstName]、[LastName]、[Occupation]、[YearlyIncome] 和 [Sales] 列添加到目标中。

请参阅文章。让我们看看选定的数据是否已加载到目标中。

Insert Statement 9

评论已关闭。