如何创建多表名结构的mysql循环,并将数据复制到第二个数据库

如何创建多表名结构的mysql循环,并将数据复制到第二个数据库,mysql,database,arrays,foreach,multiple-tables,Mysql,Database,Arrays,Foreach,Multiple Tables,我正在努力实现的目标。 我的网站是实时的,我正在对其进行一些更改。 当我准备好使用这些更改时,我基本上会删除旧数据库(myFirstDb)并创建新数据库(MySecondB)。 但是-我想保留一些来自live站点(myFirstDb)的表-并将它们引入新数据库(MySecondB)。 我知道我可以通过phpMyAdmin实现这一点,但这只允许一次复制一个表 我的问题: mySQL中的什么样的SQL查询将允许我定义从数据库1移动到数据库2的表。(保留结构和数据等) 以下是我目前掌握的信息。 首先,

我正在努力实现的目标。 我的网站是实时的,我正在对其进行一些更改。 当我准备好使用这些更改时,我基本上会删除旧数据库(myFirstDb)并创建新数据库(MySecondB)。 但是-我想保留一些来自live站点(myFirstDb)的表-并将它们引入新数据库(MySecondB)。 我知道我可以通过phpMyAdmin实现这一点,但这只允许一次复制一个表

我的问题: mySQL中的什么样的SQL查询将允许我定义从数据库1移动到数据库2的表。(保留结构和数据等)

以下是我目前掌握的信息。

首先,是否可以在mySql-SQL查询中创建一个循环?如果是的话

有人能帮助我在mySQL中创建数组的正确语法吗

如何使用有效的sql语法创建数组?


//在此处定义表名数组。您可以使用mysqldump来实现这一点,这样可以省去很多麻烦。mysqldump和重新创建将避免锁定第一个表,因为mysqldump是通过shell命令完成的,对吗?我将如何通过mysqldump实现这一点?使用一个表名数组?或者我可以用逗号分隔的database.table1Name、database.table2Name等列表来完成吗。?
SET @database_name := 'myFirstDb';
SET @second_database_name := 'mySecondDb';

// define array of table names here. <-- how to form this?
SET @table_name_array = ('tableFive', 'tableSeven', 'tableNine', 'tableFifteen', 'tableNineteen', 'tableNth', 'tableMaybeOneMore');

// start loop thru each table name <-- how to write this?

SET @table_name := 'value';
SET @second_db_table_name := @table_name;

CREATE TABLE @second_db_table_name LIKE @table_name
ALTER TABLE @second_db_table_name DISABLE KEYS
INSERT INTO @second_db_table_name SELECT * FROM @table_name
ALTER TABLE @table_name ENABLE KEYS

//end loop here