前言
Insert是T-sql中常用的语句,INSERT INTO table(field1,field2,…) VALUES (value1,value2,…)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个表t1的数据的部分字段复制到表t2中,或者将整个表t1复制到表t2中,这时候我们就要使用INSERT INTO SELECT 语句了,我们一起来看看。
INSERT INTO SELECT 语句
语句形式为:INSERT INTO t2(f1,f2,…) SELECT v1,v2,… from t1
要求目标表t2必须存在,由于目标表t2已经存在,所以我们除了插入源表t1的字段外,还可以
插入常量。
# 创建表t1
CREATE TABLE t1
(
a varchar(10),
b varchar(10),
c varchar(10)
);
# 创建表t2
CREATE TABLE t2
(
a varchar(10),
c varchar(10),
d int
);
# 向t1中插入数据
INSERT INTO t1 VALUES('赵','德华','90');
INSERT INTO t1 VALUES('钱','德华','60');
INSERT INTO t1 VALUES('孙','德华','80');
INSERT INTO t1 VALUES('李','德华','70');
# 查看 t1和t2
SELECT * FROM t1;
SELECT * FROM t2;
# INSERT INTO SELECT语句复制表数据
INSERT INTO t2(a,c,d) SELECT a,c,5 FROM t1;
# 查看复制后的数据
SELECT * FROM t2;
温馨提示
MySQL不支持SELECT INTO语法
SELECT f1,f2 INTO t2 FROM t1;