【发布时间】:2020-04-24 16:29:43
【问题描述】:
我正在创建一个 MySQL 查询来获取仅包含指定字符串的所有表的大小。
我正在使用下面的代码:
SELECT
TABLE_NAME AS `Table`,
(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024)) AS `Size (MB)`
FROM information_schema.TABLES
WHERE TABLE_SCHEMA ='Servername' AND
(TABLE_NAME LIKE '%log_%' OR TABLE_NAME LIKE '%_log%')
GROUP BY TABLE_SCHEMA
ORDER BY TABLE_SCHEMA;
Expected Output
--------------------
Table Size (MB)
--------------------
login_log 10.0005
log_login 00.8800
Resulting Output
--------------------
Table Size (MB)
--------------------
login_log 10.0005
login 05.000
log_login 00.8800
在上面的结果中,login table 不是必需的,但 MySQL 正在返回它。如何避免这种情况以仅获取包含指定字符串的那些表?
【问题讨论】:
-
您的下划线
_也可用作通配符,表示任何字符。