如何使用SQL查询在具有相同名称和相同表和行/内容的不同名称下克隆MySQL数据库

Der*_*der 5 mysql sql

我知道如何克隆表格,例如:

CREATE TABLE recipes_new LIKE production.recipes; 
INSERT recipes_new 
SELECT * FROM production.recipes;
Run Code Online (Sandbox Code Playgroud)

但我不知道如何使用database_old中的所有表和行来克隆例如database_olddatabase_new数据库.

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

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

但我想必须有一种更有效的方法来通过SQL查询执行此任务,就像克隆表一样.

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

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

Vin*_*982 6

还有另一种方法可以做以下事情:

首先创建一个空白数据库:

 CREATE DATABASE `destination` DEFAULT CHARACTER SET 
    latin1 COLLATE latin1_swedish_ci;
Run Code Online (Sandbox Code Playgroud)

然后使用命令show tables;

 show source.tables;
Run Code Online (Sandbox Code Playgroud)

然后为每个数据库表(Optimized Create table并插入行)运行命令:

 create table destination.table select * from source.table;
Run Code Online (Sandbox Code Playgroud)

和其他方式使用like命令:

  create table destination.table like source.table
Run Code Online (Sandbox Code Playgroud)

然后插入行;

  insert into destination.table select * from source.table
Run Code Online (Sandbox Code Playgroud)


小智 6

如果 phpMyAdmin 可用于数据库,您可以按照以下步骤克隆它:

  1. 选择需要的数据库
  2. 单击操作选项卡
  3. 在操作选项卡中,转到“复制数据库”-选项并在输入字段中键入所需的克隆数据库名称
  4. 选择“结构和数据”(取决于您的要求)
  5. 选中“复制前创建数据库”“添加 AUTO_INCREMENT 值”
  6. 点击“前往”

使用 phpMyAdmin 4.2.13.3 测试


Fre*_*gas 5

您是否尝试过使用MySQL Dump

$ mysqldump yourFirstDatabase -u user -ppassword > yourDatabase.sql
$ echo "create database yourSecondDatabase" | mysql -u user -ppassword
$ mysql yourSecondDatabase -u user -ppassword < yourDatabase.sql
Run Code Online (Sandbox Code Playgroud)