用于复制表的SQL命令

时间:2008-09-25 07:00:18

标签: sql mysql

将表从一个数据库复制到另一个数据库的SQL命令是什么? 我正在使用MySQL,我有两个数据库x和y。假设我在x中有一个名为a的表,我需要将该表复制到y数据库。 对不起,如果问题太新手了。

感谢。

6 个答案:

答案 0 :(得分:8)

如果目标表不存在......

CREATE TABLE dest_table AS (SELECT * FROM source_table);

如果目标表存在

INSERT INTO dest_table (SELECT * FROM source_table);

警告:仅在Oracle中测试

答案 1 :(得分:8)

如果您的两个数据库是分开的,最简单的方法是创建表的转储并将其加载到第二个数据库中。请参阅数据库手册以了解如何执行转储。

否则,您可以使用以下语法(对于MySQL)

INSERT INTO database_b.table (SELECT * FROM database_a.table)

答案 2 :(得分:3)

由于您的方案涉及两个不同的数据库,因此正确的查询应该是......

INSERT INTO Y..dest_table(SELECT * FROM source_table);

查询假定您使用X数据库运行它。

答案 3 :(得分:1)

如果您只想复制内容,可能正在寻找select intohttp://www.w3schools.com/Sql/sql_select_into.asp。但这不会创建相同的副本,它只会将每一行从一个表复制到另一个表。

答案 4 :(得分:1)

在命令行

mysqldump somedb sometable -u user -p | mysql otherdb -u user -p
然后输入两个密码。

即使它们位于不同的主机上也是如此(只需像往常一样添加-h参数),这是插入选择无法做到的。

小心不要意外地输入错误的数据库,否则最终会丢弃该数据库中的某些表格! (转储将以'drop table sometable'开头。)

答案 5 :(得分:1)

从别人建议的select中插入blah对于在mysql下复制数据很有用。

如果要复制表结构,可能需要使用 show create table Tablename; 语句。