SQL INSERT INTO SELECT语句
时间:2020-02-23 14:32:28 来源:igfitidea点击:
在本文中,我们将完全专注于SQL INSERT INTO SELECT语句的工作。
什么是SQL SELECT语句?
SQL SELECT查询显示数据库表中的指定数据。
语法:
Select * from Table; OR Select column-list from Table;
我们可以显示所有数据,也可以显示条件所占据的一部分数据。
例:
Select * from Info;
什么是SQL INSERT语句?
SQL INSERT查询对于根据指定的列和条件将记录插入数据库中很有用。
语法:
Insert into Table(column-list)values(val1,,,,valN);
SQL INSERT INTO SELECT语句的工作
SQL INSERT INTO SELECT语句使我们能够选择数据并将其从一个表复制到另一个表。
语法:
INSERT INTO Table2 (Column-list) SELECT(Column-list) From Table1;
该语句以以下方式执行:
最初,它从table1的指定列中选择数据。
此外,将从表1的列中选择的数据插入到表2的指定列中
因此,通过使用INSERT INTO SELECT,我们可以从表中复制某些特定数据并将其插入到另一个表中。
table1和table2的现有数据值不受INSERT INTO SELECT查询的影响。
在了解了INSERT INTO SELECT查询的工作原理之后,现在让我们在下面的部分中了解其语法。
通过示例实现INSERT INTO SELECT
最初,我们使用SQL创建查询创建一个表1 —"信息",其中包含以下列:
- item_id
- Price
- Quantity
- City
create table Info(item_id integer, Price integer, Quantity integer, City varchar(200);
然后,我们使用SQL插入查询将记录插入表1("信息")中。
insert into Info(item_id, Price,Quantity,City) values(1, 150,30,'Pune'); insert into Info(item_id, Price,Quantity,City) values(2, 100,23,'USA'); insert into Info(item_id, Price,Quantity,City) values(3, 250,5,'UAE'); insert into Info(item_id, Price,Quantity,City) values(3, 800,2,'DENMARK');
Select * FROM Info;
输出:表1-"信息"
插入选择表1
此外,我们使用以下数据列创建表2 –"批发":
- Object_id
- Price
- Quantity
- City
create table Wholesale(Object_id integer, Price integer, Quantity integer, City varchar(200);
使用SQL的INSERT查询将数据值插入"批发"。
insert into Wholesale(Object_id, Price,Quantity,City) values(1, 2,1500,'DENMARK'); insert into Wholesale(Object_id, Price,Quantity,City) values(2, 4,2000,'USA'); insert into Wholesale(Object_id, Price,Quantity,City) values(3, 250,157,'USA'); insert into Wholesale(Object_id, Price,Quantity,City) values(4, 60,645,'DENMARK'); insert into Wholesale(Object_id, Price,Quantity,City) values(5, 25,45,'Pune');
SELECT * FROM Wholesale;
现在,在此示例中,我们执行SQL INSERT INTO SELECT查询以执行以下操作
- 从"信息"中选择"价格"和"城市"列的数据值
- 在"批发"表的"价格"和"城市"列下插入并复制上面选择的记录。
INSERT INTO WholeSale (Price, City) SELECT Price, City FROM Info;
在此示例中,我们选择并复制了"信息"表中的所有数据值,并将其插入到"批发"表中。
INSERT INTO Wholesale SELECT * FROM Info;
注意:数据值从表1复制到表2。
但是,表(从中复制数据)的原始数据值保持不变。