SELECT INTO
SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中。
语法:
SELECT * INTO newtable FROM TableA;
SELECT country INTO newtable FROM TableA;
复制多个表中的数据插入到新表中:
SELECT TableA.name, TableB.count, TableB.date
INTO newtable
FROM TableA
LEFT JOIN TableB
ON TableA.id=TableB.site_id;
SELECT INTO 语句可用于通过另一种模式创建一个新的空表。只需要添加使查询没有数据返回的 WHERE 子句即可:
SELECT * INTO newtable FROM TableA WHERE 1=0;
INSERT INTO SELECT
INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中。
INSERT INTO TableB SELECT * FROM TableA;
INSERT INTO TableB (column_name(s)) SELECT column_name(s) FROM TableA;
实例:
INSERT INTO TableA(name, country)
SELECT app_name, country FROM TableB
WHERE id=1;
MySQL 数据库不支持 SELECT ... INTO 语句,但支持INSERT INTO ... SELECT
也可以使用以下语句来拷贝表结构及数据:
功能:将表TableA的内容拷贝到新表newtable中
CREATE TABLE newtable AS SELECT * FROM TableA;