mysql - 在 MySql 中将表和数据从一种模式复制到另一种模式的脚本

标签 mysql sql

我确信有一种方法可以做到这一点,但我无法将这些碎片拼凑在一起。

我想:

select table_name from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA = 'myschema';

进而....
for each table_name in that list
BEGIN
CREATE table myschemacopy.table_name like myschema.table_name;
INSERT INTO myschemacopy.table_nameSELECT * FROM myschema.table_name;
END LOOP

如何才能做到这一点?

最佳答案

如果它在同一台服务器上只是一个不同的数据库,你可以使用
解决方案1:

   CREATE TABLE newdb.mynewtable LIKE olddb.myoldtable;
然后,您可以使用旧表将数据插入新表中
 INSERT newdb.mynewtable SELECT * FROM olddb.myoldtable;

          [or]
解决方案2
   ALTER table olddb.myoldtable rename newdb.mynewtable

关于mysql - 在 MySql 中将表和数据从一种模式复制到另一种模式的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19173431/

相关文章:

php - MySQL - 达到连接数

MySQL : null behavior against integer check

mysql - 我可以在 SQL 中组合 2 个级别的计数吗?

mysql - SQL过滤掉一些数据?

mysql - SQL 查询 - 第二大数字

sql - 如何在 "SQL Server Maintenance"计划结束后运行程序或 PowerShell 脚本?

mysql - 截断 Mysql 表 Cron 作业?

php - 操作数应包含 1 列 - 通过复制同一个表中的行

mysql - 如何在mysql中创建只有日期的时间戳?

mysql - 基于日期的总价和基于 mysql 中俱乐部的打印