我知道如何克隆表格,例如:
CREATE TABLE recipes_new LIKE production.recipes;
INSERT recipes_new
SELECT * FROM production.recipes;
Run Code Online (Sandbox Code Playgroud)
但我不知道如何使用database_old中的所有表和行来克隆例如database_old到database_new数据库.
因此,只会更改数据库的名称.其他一切都保持不变.
现在我通过在phpmyadmin ad中导出数据库然后创建一个新数据库并将其导入新数据库来克隆它.
但我想必须有一种更有效的方法来通过SQL查询执行此任务,就像克隆表一样.
重要!它需要从phpmyadmin中的SQL查询窗口完成,而不是从shell命令行完成.
在此先感谢您的建议如何做到这一点.
还有另一种方法可以做以下事情:
首先创建一个空白数据库:
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 可用于数据库,您可以按照以下步骤克隆它:
使用 phpMyAdmin 4.2.13.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
Run Code Online (Sandbox Code Playgroud)