如何获取与 mysql 8.0 中的特定正则表达式匹配的所有表名?

Jam*_*its 3 regex mysql

我正在尝试检索具有特定名称格式的所有表,以便在这些表之间执行联合。我正在使用mysql Ver 8.0.13,并且我编写了以下查询来检索相关表:

show tables LIKE REGEX '^table_.+_class$';
Run Code Online (Sandbox Code Playgroud)

我无法找出此查询的正确语法:/

之后我计划合并所有这些表

我想避免编写这段代码,因为它不能很好地扩展:

SELECT * FROM table_french_class
UNION
SELECT * FROM table_history_class
UNION
SELECT * FROM table_pingpong_class
UNION
SELECT * FROM table_math_class
UNION
SELECT * FROM table_literature_class
Run Code Online (Sandbox Code Playgroud)

有人可以建议我如何处理这个问题吗?

谢谢

Luk*_*zda 5

您可以使用INFORMATION_SCHEMA目录:

SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME REGEXP '^table_.+_class$';
Run Code Online (Sandbox Code Playgroud)

  • 不应该是“WHERE TABLE_NAME REGEXP '^table_.+_class$'”吗? (2认同)