我知道如何克隆表格,例如:
CREATE TABLE recipes_new LIKE production.recipes;
INSERT recipes_new
SELECT * FROM production.recipes;
但我不知道如何克隆,例如一个 database_old 到 database_new 数据库,其中包含来自database_old的所有表和行。
因此,只会更改数据库的名称。其他一切都保持不变。
现在我通过在phpmyadmin广告中导出数据库然后创建新数据库并将其导入新数据库来克隆它。
但我想必须有一种更有效的方法来通过SQL查询执行此任务,就像克隆表一样。
重要!它需要从phpmyadmin中的SQL查询窗口完成,而不是从shell命令行完成。
先谢谢你的建议如何做到这一点。
答案 0 :(得分:5)
还有另一种方法可以执行以下操作:
首先创建一个空白数据库:
CREATE DATABASE `destination` DEFAULT CHARACTER SET
latin1 COLLATE latin1_swedish_ci;
然后使用命令show tables;
show source.tables;
然后为每个数据库表(Optimized Create table并插入行)运行命令:
create table destination.table select * from source.table;
和其他方式使用like命令:
create table destination.table like source.table
然后插入行;
insert into destination.table select * from source.table
答案 1 :(得分:4)
您是否尝试过使用MySQL Dump?
$ mysqldump yourFirstDatabase -u user -ppassword > yourDatabase.sql
$ echo "create database yourSecondDatabase" | mysql -u user -ppassword
$ mysql yourSecondDatabase -u user -ppassword < yourDatabase.sql
答案 2 :(得分:1)
如果phpMyAdmin可用于数据库,您可以按照以下步骤克隆它:
使用phpMyAdmin 4.2.13.3进行测试
答案 3 :(得分:0)
然后喝杯咖啡......