Jon*_* O. 111 mysql sql database
我是MySQL新手.我想将一个表的内容复制到同一个数据库中的另一个表.基本上,我想从另一个表插入一个表.这样做有简单的方法吗?
ggi*_*oux 175
INSERT INTO TARGET_TABLE SELECT * FROM SOURCE_TABLE;
编辑:或者如果表格具有不同的结构,您还可以:
INSERT INTO TARGET_TABLE (`col1`,`col2`) SELECT `col1`,`col2` FROM SOURCE_TABLE;
Run Code Online (Sandbox Code Playgroud)
编辑:约束这个..
INSERT INTO TARGET_TABLE (`col1_`,`col2_`) SELECT `col1`,`col2` FROM SOURCE_TABLE WHERE `foo`=1
Run Code Online (Sandbox Code Playgroud)
GSt*_*Sto 130
如果该表不存在,您可以创建一个具有相同模式的表,如下所示:
CREATE TABLE table2 LIKE table1;
Run Code Online (Sandbox Code Playgroud)
然后,复制数据:
INSERT INTO table2 SELECT * FROM table1
Run Code Online (Sandbox Code Playgroud)
Ike*_*ker 27
如果table1很大并且您不希望在复制过程期间锁定它,则可以执行转储和加载:
CREATE TABLE table2 LIKE table1;
SELECT * INTO OUTFILE '/tmp/table1.txt' FROM table1;
LOAD DATA INFILE '/tmp/table1.txt' INTO TABLE table2;
Run Code Online (Sandbox Code Playgroud)
Jas*_*son 13
这对我有用,
CREATE TABLE newtable LIKE oldtable;
使用旧表复制newtable
INSERT newtable SELECT * FROM oldtable;
将所有行数据复制到新表.
谢谢
如果您想一次创建和复制内容,只需使用SELECT:
CREATE TABLE new_tbl SELECT*FROM orig_tbl;