从一个数据库到另一个数据库的SQL复制表

时间:2015-07-03 05:21:31

标签: mysql sql

我需要将一个表从一个数据库复制到另一个数据库。所以我尝试在SqlFiddle中查询如下但得到错误

CREATE TABLE ForgeRock
    (`id` int, `productName` varchar(7), `description` varchar(55))
;

INSERT INTO ForgeRock
    (`id`, `productName`, `description`)
VALUES
    (1, 'OpenIDM', 'Platform for building enterprise provisioning solutions'),
    (2, 'OpenAM', 'Full-featured access management'),
    (3, 'OpenDJ', 'Robust LDAP server for Java')
;


CREATE TABLE ForgeRock1 AS SELECT * FROM ForgeRock

错误:

  

MySQL的查询面板中不允许使用DDL和DML语句;只允许SELECT语句。将DDL和DML放在架构面板中。

2 个答案:

答案 0 :(得分:1)

您还可以使用mysqldump将表转储到另一个数据库中:

mysqldump -u<user> -p<password> <first_database> <table_name> | mysql -u<user> -p<password> <second_database>

当然必须首先创建第二个数据库,这可以使用如下命令来完成:

mysql -u<user> -p<password> -e"CREATE DATABASE <second_database>"

答案 1 :(得分:0)

您可以使用MySQL INSERT INTO...SELECT语法来实现您的目标。

CREATE TABLE ForgeRock1
    (`id` int, `productName` varchar(7), `description` varchar(55));

INSERT INTO ForgeRock1 SELECT * FROM ForgeRock