mysql 存储过程返回与pattern [duplicate]匹配的表名

6kkfgxo0  于 2023-04-10  发布在  Mysql
关注(0)|答案(2)|浏览(102)

此问题已在此处有答案

How do i get all table names who match a specific regex in mysql 8.0?(1个答案)
Select table names with specific pattern(2个答案)
2天前关闭。
我正在尝试在MariaDB/MySQL中编写一个存储过程,它将返回与参数提供的模式匹配的模式中的表名(如果有的话)。猜测这是通过查询information_schema表来完成的,但任何建议和示例都将受到欢迎。

qxsslcnc

qxsslcnc1#

您可以像这样使用简单的select:

SELECT TABLE_SCHEMA, TABLE_NAME
FROM information_schema.tables
WHERE TABLE_NAME like '%m%' and TABLE_SCHEMA = 'mysql';

在这里,我们从模式mysql中选择名称中包含m的所有表。
令人惊讶的是,你甚至可以在演示网站上访问这些信息。

dced5bon

dced5bon2#

如果您所指的模式匹配是指SQL的LIKE样式匹配,那么此查询将按照您的要求执行。

SELECT TABLE_NAME 
FROM information_schema.TABLES 
WHERE TABLE_SCHEMA=DATABASE()
  AND TABLE_TYPE='BASE TABLE'
  AND TABLE_NAME LIKE '%pattern%';

非常简单。你可以把它放到一个存储过程中。也可以不放。这取决于你所寻找的软件部署的复杂性。

相关问题