sql - 在 MySQL 中复制许多表

标签 sql mysql regex

我想复制许多名称相似但前缀不同的表。我希望带有 wp_ 前缀的表格进入其带有 shop_ 前缀的相应表格。

换句话说,我想做这样的事情:

insert into shop_wpsc_*
select * from wp_wpsc_*

会怎么做?

最佳答案

SQL 不允许使用通配符表名 - 唯一的方法是在使用动态 SQL 时循环遍历表列表(通过 ANSI INFORMATION_SCHEMA/INFORMATION_SCHEMAS)。

每个数据库供应商的动态 SQL 都不同...

更新

MySQL?你为什么不一开始就说...

MySQL 的动态 SQL 称为“准备语句”- this is my fav link因为它除了documentation . SO 上有很多关于对 MySQL 数据库中的所有表进行操作的问题 - 只需调整 WHERE 子句即可获取所需的表名。

您需要在 MySQL stored procedure 中执行此操作...

关于sql - 在 MySQL 中复制许多表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3338814/

相关文章:

sql - 微软SQL服务器: converting 3 rows to 3 columns

mysql - 什么样的锁定/事务隔离级别适合这种情况?

mysql - 优化包含超过20个内联表的mysql查询

java - 无法使用正则表达式检索行中的最后一个单词

mysql - GTFS 获得旅行的最后一站

sql - 如何从 JSON 字符串读取具有长值的属性?

c# - 在大文本上使用 RegEx 的最佳方式

sql - 如何在postgresql中搜索不同的字符集?

sql - 使用另一个表中的数据更新 Teradata 表中的列

c# - 将 List 转换为 JSON 以填充表