用于复制表的SQL命令

用于复制表的SQL命令,sql,mysql,Sql,Mysql,将表从一个数据库复制到另一个数据库的SQL命令是什么? 我使用的是MySQL,我有两个数据库x和y。假设我在x中有一个名为a的表,我需要将该表复制到y数据库。 抱歉,如果问题太新手 谢谢。如果您只想复制内容,您可能正在寻找“选择到”: . 但这不会创建相同的副本,它只会将每一行从一个表复制到另一个表。如果目标表不存在 CREATE TABLE dest_table AS (SELECT * FROM source_table); 如果目标表确实存在 INSERT INTO dest_table

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


谢谢。

如果您只想复制内容,您可能正在寻找“选择到”:
. 但这不会创建相同的副本,它只会将每一行从一个表复制到另一个表。

如果目标表不存在

CREATE TABLE dest_table AS (SELECT * FROM source_table);
如果目标表确实存在

INSERT INTO dest_table (SELECT * FROM source_table);

警告:仅在Oracle中测试,因为您的场景涉及两个不同的数据库,正确的查询应该是

插入Y..dest_表,从源_表中选择*


查询假设您正在使用X数据库运行它。

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

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

INSERT INTO database_b.table (SELECT * FROM database_a.table)
在命令行

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

即使它们位于不同的主机上,也可以这样做,只需像往常一样添加-h参数,这是使用insert select无法做到的


小心不要意外地将管道插入错误的数据库,否则最终会将sometable表掉到该数据库中!转储将以“drop table sometable”开头。

从其他人建议的选择中插入blah有助于在mysql下复制数据


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

通常有比使用SQL更好的方法。大多数数据库管理系统将提供复制表的功能,或者最坏的情况是卸载和重新加载数据。Oracle?哈!它甚至不能区分空的varchar和null。DB2和我在您的玩具数据库上吐痰:-。我可能弄错了,但我认为对于MySQL,这不一定会保留原始表的键。