SQL SERVER:SELECT INTO 语句从一个表中复制数据并插入到新表中
在这篇文章中,将分享如何从一个表的所有或选定列中复制/选择数据,并在 SQL 中插入到一个新表中。
描述:SELECT INTO 语句从一个表(Source)中选择/复制数据并将其插入到一个新表(Destination)中。
实例:创建一个示例表并执行所需的操作。
```sql
--Create a table(Source)
GO
CREATE TABLE tbBooks
(
BookId INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
BookName VARCHAR(100),
Author VARCHAR(100),
Publisher VARCHAR(100),
BookPrice DECIMAL(10,2)
)
--Add some dummy data into the table
GO
INSERT INTO tbBooks VALUES
('Asp.Net','Ajay','Rozy Publication',1200),
('C#.Net','Sahil','Jai Publication',1000),
('VB.Net','Nancy','Rozy Publication',970),
('MVC','Sahil','Amar Publication',1480),
('JAVA','Supreet','Sam Publication',850),
('PHP','Parvesh','Maya Publication',800)
--Check inserted data
SELECT * FROM tbBooks
注意:我们可以从一个表的所有或任意数量的列中复制数据,并插入到将自动创建的新表中。
从一个表中复制所有数据并插入到一个新表中:
从tbBooks中选择* INTO tbSelectedBooks
注意:将使用从 SELECT 语句中获取的列名和数据类型自动创建一个新表“tbSelectedBooks” 源表 ( tbBooks中的所有数据都将被复制到目标表 (tbSelectedBooks) 中。
–Check inserted data
SELECT * FROM tbSelectedBooks
仅从一个表中复制某些列数据并插入到新表中:
SELECT BookName, BookPrice INTO tbBookList FROM tbBooks
–Check inserted data
SELECT * FROM tbBookList
从一个表中复制数据并根据条件插入到新表中:
假设我们只想复制和插入 tbBooks 表中 Book price 大于 1000 的那些记录,那么查询将是:
SELECT BookName, BookPrice INTO tbBookListDemo FROM tbBooks WHERE BookPrice >1000
–Check inserted data
SELECT * FROM tbBookListDemo
更改要创建的新表中的列名称:
默认情况下,SELECT INTO 语句创建一个新表,其列名与源表中定义的相同。但是我们可以使用 AS 子句更改名称:
SELECT BookName, BookPrice AS Price, Author AS AuthorName INTO tbBookData FROM tbBooks
SELECT * FROM tbBookData
版权归原作者 一个普普通通的搬运工 所有, 如有侵权,请联系我们删除。