赞
踩
问题:新表没有旧表的主键、索引等,需要手动加上。
-- mysql
CREATE TABLE new_table
[AS] /* 加不加AS都行 */
SELECT *
FROM old_table;
-- Oracle
CREATE TABLE new_table
AS
SELECT *
FROM old_table;
可以创建时指定,或者创建后再alter。
CREATE TABLE new_tabel( PRIMARY KEY(Column_x))
SELECT *
FROM old_table
CREATE TABLE new_table
LIKE old_table;
CREATE TABLE new_table
SELECT *
FROM old_table
WHERE 1 = 2;
-- mysql 不支持
SELECT * INTO new_table
FROM old_table
WHERE 1 = 2;
-- 法1,新旧表结构完全一致,要求new table已经存在。
-- 大量数据复制时,性能不如CREATE...。
INSERT INTO new_table
SELECT *
FROM old_table;
-- 法2,新旧表结构完全一致,要求new table 不存在。但是mysql不支持
SELECT * INTO new_table
FROM old_table;
-- 结构不一致
INSERT INTO new_table(c1, c2...)
SELECT c3, c4...
FROM old_table;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。