2013-02-27 90 views
3

相同的表和行/内容我知道如何克隆表,例如:如何以不同的名称克隆MySQL数据库具有相同的名称,并使用SQL查询

CREATE TABLE recipes_new LIKE production.recipes;  
INSERT recipes_new 
SELECT * FROM production.recipes; 

但我不知道该怎么克隆,例如a database_olddatabase_new包含database_old中所有表和行的数据库。

因此,只有数据库的名称会改变。其他一切都保持不变。

现在我通过在phpmyadmin广告中导出数据库来克隆它,然后创建一个新数据库并将其导入新数据库。

但我想必须有一个更有效的方式来通过SQL查询来完成这个任务,就像那个克隆表一样。

重要!它需要从phpmyadmin中的SQL查询窗口完成,而不是从shell命令行完成。

在此先感谢您的建议如何做到这一点。

+0

http://stackoverflow.com/questions/25794/mysql-copy-duplicate-database – Nanne 2013-02-27 11:22:03

+0

这是在这里回答:http://stackoverflow.com/ques tions/1887964/duplicate-entire-mysql-database?rq = 1 – ojs 2013-02-27 11:23:50

+0

我认为这个解决方案是针对命令行的。我需要在使用SQL statemens的phpmyadmin SQL查询窗口中使用它。 – Derfder 2013-02-27 11:27:30

回答

3

你试过用MySQL Dump吗?

$ mysqldump yourFirstDatabase -u user -ppassword > yourDatabase.sql 
$ echo "create database yourSecondDatabase" | mysql -u user -ppassword 
$ mysql yourSecondDatabase -u user -ppassword < yourDatabase.sql 
+0

你可以告诉我它是如何将如果我有我的本地主机上的用户称为root和没有密码? – Derfder 2013-02-27 11:24:59

+0

它可以在phpmyadmin中的SQL查询窗口中工作,还是仅在命令行上工作? – Derfder 2013-02-27 11:25:29

+0

在命令行上使用它。你的操作系统是否是Windows? – 2013-02-27 11:29:13

3

有做事诸如另一种方法:

首先创建一个空数据库:

CREATE DATABASE `destination` DEFAULT CHARACTER SET 
    latin1 COLLATE latin1_swedish_ci; 

然后使用命令节目表;

show source.tables; 

,然后运行对每个DB表的命令(优化创建表和插入行)为:

create table destination.table select * from source.table; 

和其他方法是使用像命令:

create table destination.table like source.table 

,然后插入行;

insert into destination.table select * from source.table 
+0

谢谢,我会试试这个解决方案,并让你知道它是否有效。这是否全部在phpmyadmin的SQL查询窗口内? – Derfder 2013-02-27 11:33:37

+0

是的,它是所有的SQL窗口,如果你知道函数,你也可以使用函数,但我不喜欢SQL用户函数 – Vineet1982 2013-02-27 11:35:32

+0

我有这个部分的问题:show 2012_myolddatabase.tables; create table 2013_mynewdatabase.table select * from 2012_myolddatabase.table;它显示了一些谎言,2013_mynewdatabase.table是worng声明或某事。任何建议如何解决它?我猜这是有可能在SQL中“链接”的问题? – Derfder 2013-02-27 11:43:49

0
  1. 出口使用phpMyAdmin(export.sql)
  2. 进口它使用终端/ CMD选择的数据库: 的mysql -u用户名-p数据库名< export.sql

,并得到一杯咖啡...