将表从一个数据库复制到另一个数据库的SQL命令是什么? 我正在使用MySQL,我有两个数据库x和y。假设我在x中有一个名为a的表,我需要将该表复制到y数据库。 对不起,如果问题太新手了。
感谢。
答案 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 into
:
http://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; 语句。