SQL Server插入示例

n00*_*00b 33 sql sql-server insert

我偶尔在Oracle和SQL Server之间切换,并经常忘记如何在SQL Server中执行一些最简单的任务.我想使用SQL手动将一行数据插入SQL Server数据库表.最简单的方法是什么?

例如,如果我有一个USERS表,其中包含ID(number),FIRST_NAME和LAST_NAME的列,我会使用什么查询在该表中插入一行?

如果我想一次插入多行,我还会使用什么语法?

n00*_*00b 59

要插入单行数据:

INSERT INTO USERS
VALUES (1, 'Mike', 'Jones');
Run Code Online (Sandbox Code Playgroud)

要对特定列(而不是所有列)执行插入,必须指定要更新的列.

INSERT INTO USERS (FIRST_NAME, LAST_NAME)
VALUES ('Stephen', 'Jiang');
Run Code Online (Sandbox Code Playgroud)

在SQL Server 2008或更高版本中插入多行数据:

INSERT INTO USERS VALUES
(2, 'Michael', 'Blythe'),
(3, 'Linda', 'Mitchell'),
(4, 'Jillian', 'Carson'),
(5, 'Garrett', 'Vargas');
Run Code Online (Sandbox Code Playgroud)

要在早期版本的SQL Server中插入多行数据,请使用"UNION ALL",如下所示:

INSERT INTO USERS (FIRST_NAME, LAST_NAME)
SELECT 'James', 'Bond' UNION ALL
SELECT 'Miss', 'Moneypenny' UNION ALL
SELECT 'Raoul', 'Silva'
Run Code Online (Sandbox Code Playgroud)

注意,"INTO"关键字在INSERT查询中是可选的.可以在此处找到源和更高级的查询.


Ram*_*Ali 10

以下是将数据插入表格的4种方法.

  1. 表列序列已知时的简单插入.

    INSERT INTO Table1 VALUES (1,2,...)

  2. 简单插入表的指定列.

    INSERT INTO Table1(col2,col4) VALUES (1,2)

  3. 批量插入时......

    1. 您希望将Table2的每一列插入Table1
    2. 您知道Table2的列序列
    3. 您确定Table2的列序列在使用此语句时不会更改(也许您只能使用该语句一次).

    INSERT INTO Table1 {Column sequence} SELECT * FROM Table2

  4. 将所选数据批量插入Table2的指定列.

.

INSERT INTO Table1 (Column1,Column2 ....)
    SELECT Column1,Column2...
       FROM Table2
Run Code Online (Sandbox Code Playgroud)