我偶尔会在Oracle和SQL Server之间切换,并经常忘记如何在SQL Server中执行一些最简单的任务。我想使用SQL手动将一行数据插入SQL Server数据库表。最简单的方法是什么?
例如,如果我有一个包含ID(编号),FIRST_NAME和LAST_NAME列的USERS表,我会使用什么查询在该表中插入一行?
如果我想一次插入多行,我还会使用什么语法?
答案 0 :(得分:54)
要插入一行数据:
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查询中是可选的。可以找到来源和更高级的查询here。
答案 1 :(得分:10)
以下是将数据插入表格的4种方法。
表格列序列已知时的简单插入。
INSERT INTO Table1 VALUES (1,2,...)
简单插入表格的指定列。
INSERT INTO Table1(col2,col4) VALUES (1,2)
批量插入...
INSERT INTO Table1 {Column sequence} SELECT * FROM Table2
将所选数据批量插入Table2的指定列。
INSERT INTO Table1 (Column1,Column2 ....)
SELECT Column1,Column2...
FROM Table2
答案 2 :(得分:0)
希望这对您有帮助
创建表:
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');