将表从一个数据库复制到另一个数据库的SQL命令是什么? 我正在使用MySQL,我有两个数据库x和y。假设我有一个名为a的表,我需要将该表复制到y数据库。 对不起,如果问题太新手。用于复制表的SQL命令
谢谢。
将表从一个数据库复制到另一个数据库的SQL命令是什么? 我正在使用MySQL,我有两个数据库x和y。假设我有一个名为a的表,我需要将该表复制到y数据库。 对不起,如果问题太新手。用于复制表的SQL命令
谢谢。
如果你的两个数据库是分开的,最简单的做法是创建表的转储并将其加载到第二个数据库中。请参阅数据库手册以了解如何执行转储。
否则,你可以使用下面的语法(MySQL的)
INSERT INTO database_b.table (SELECT * FROM database_a.table)
如果你只是想复制的内容,您可能正在寻找select into
: http://www.w3schools.com/Sql/sql_select_into.asp。这不会创建一个相同的副本,它只是将每一行从一个表复制到另一个表。
如果目标表不存在....
CREATE TABLE dest_table AS (SELECT * FROM source_table);
如果目标表确实存在
INSERT INTO dest_table (SELECT * FROM source_table);
警告:只有在甲骨文
Oracle?哈!它甚至无法区分一个空的varchar和一个null。 DB2和我吐在你的玩具数据库上:-)。 – paxdiablo 2008-09-25 07:06:49
测试由于您的方案涉及两个不同的数据库,正确的查询应该是...
INSERT INTO Y..dest_table(SE LECT * FROM source_table);
查询假定您正在使用X数据库运行它。
在命令行
mysqldump somedb sometable -u user -p | mysql otherdb -u user -p
然后输入两个密码。
即使它们位于不同的主机上,也可以正常工作(只需像往常一样添加-h参数),这对于插入选择无法实现。
注意不要意外地输入错误的数据库,否则你最终会丢掉那个db中的sometable表! (转储将以'drop table sometable'开始)。
从别人建议的select中插入blah很适合在mysql下复制数据。
如果您想复制表结构,您可能需要使用show create table Tablename;声明。
通常有比SQL更好的方法。大多数DBMS'将提供复制表的功能,或在最坏的情况下卸载和重新加载数据。 – paxdiablo 2008-09-25 07:05:31