您的位置:首页 > 数据库 > MySQL

INSERT SELECT语句

2016-07-08 23:41 549 查看
INSERT一般用来给表插入具有指定列值的行。
INSERT还存在另一种形式,可以利用它将SELECT语句的结果插入表中,这就是所谓的INSERT SELECT。顾名思义,它是由一条INSERT语句和SELECT语句组合成的。
(1)INSERT SELECT中的SELECT语句可以包含WHERE子句,以过滤插入的数据。
(2)INSERT SELECT语句可以插入多行。INSERT通常只插入一行,要插入多行数据,必须执行多个INSERT语句。INSERT SELECT是个例外,它可以用一条INSERT插入多行,不管SELECT语句返回多少行,都将被INSERT插入。

将T_Customers表中的部分数据插入到T_Adults表中
INSERT INTO T_Adults(aName)
SELECT cName FROM T_Customers WHERE T_Customers.cAge>17;


数据准备
CREATE TABLE T_Customers(
id INT PRIMARY KEY AUTO_INCREMENT,
cName VARCHAR(20) UNIQUE NOT NULL,
cAge INT NOT NULL
)

INSERT INTO T_Customers(cName,cAge) VALUES('Lucy',17);
INSERT INTO T_Customers(cName,cAge) VALUES('Lily',17);
INSERT INTO T_Customers(cName,cAge) VALUES('Tom',18);
INSERT INTO T_Customers(cName,cAge) VALUES('Jack',19);

CREATE TABLE T_Adults(
id INT PRIMARY KEY AUTO_INCREMENT,
aName VARCHAR(20) UNIQUE NOT NULL,
birthday DATE
)

INSERT INTO T_Adults(aName) SELECT cName FROM T_Customers WHERE T_Customers.cAge>17;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库 mysql