SQL Server插入示例

41

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

例如,如果我有一个名为USERS的表,其中包含ID(数字)、FIRST_NAME和LAST_NAME列,那么我要使用什么查询语句将一行插入到该表中呢?

此外,如果我想同时插入多行,我应该使用什么语法?

4个回答

66

插入一行数据:

INSERT INTO USERS
VALUES (1, 'Mike', 'Jones');

要对特定列进行插入(而不是全部列),您必须指定要更新的列。

INSERT INTO USERS (FIRST_NAME, LAST_NAME)
VALUES ('Stephen', 'Jiang');

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

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

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

INSERT INTO USERS (FIRST_NAME, LAST_NAME)
SELECT 'James', 'Bond' UNION ALL
SELECT 'Miss', 'Moneypenny' UNION ALL
SELECT 'Raoul', 'Silva'

请注意,"INTO"关键字在INSERT查询中是可选的。可以在这里找到更多关于源和高级查询的信息。


10

以下是将数据插入表格的四种方法:

  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

2

我希望这可以帮到你。

创建表:

create table users (id int,first_name varchar(10),last_name varchar(10));

向表中插入值:

insert into users (id,first_name,last_name) values(1,'Abhishek','Anand');

0
例如,“person”表如下所示有“id” IDENTITY列

CREATE TABLE person (
  id INT IDENTITY, -- Here
  name NVARCHAR(50),
  age INT,
  PRIMARY KEY(id)
)

那么,在插入行时,我们就不需要手动为"id" IDENTITY列赋值:

INSERT INTO person VALUES ('John', 27) -- The value for "id" is not needed

此外,我们还可以插入多行数据而不需要为"id" IDENTITY列指定值:

INSERT INTO person VALUES ('John', 27), ('Tom', 18)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接