具有多个 LIKE 值的 SHOW TABLES 语句
Posted
技术标签:
【中文标题】具有多个 LIKE 值的 SHOW TABLES 语句【英文标题】:SHOW TABLES statement with multiple LIKE values 【发布时间】:2011-08-02 08:24:30 【问题描述】: mysql> SHOW TABLES like 'cms'; +--------------+ | Tables_in_tianyan (cms) | +--------------+ |厘米 | +--------------+ 一组中的 1 行(0.00 秒)结果
mysql> SHOW TABLES like 'cms' 或 like 'role'; ERROR 1064 (42000):您的 SQL 语法有错误;检查手册...如何按多个条件过滤?
【问题讨论】:
dev.mysql.com/doc/refman/5.0/en/tables-table.html 【参考方案1】:您需要使用WHERE
子句。如docs 所示,如果使用"SHOW TABLES LIKE ..."
,则只能有一个模式,但如果使用"SHOW TABLES WHERE ..."
,则可以在WHERE 子句中使用表达式。既然要表达式,就需要使用WHERE
子句。
SHOW TABLES
FROM `<yourdbname>`
WHERE
`Tables_in_<yourdbname>` LIKE '%cms%'
OR `Tables_in_<yourdbname>` LIKE '%role%';
【讨论】:
您需要在FROM
子句中定义数据库名称 - 此查询将从 MySQL 实例提供的任何数据库中返回表。【参考方案2】:
您可以使用普通的 SQL WHERE
语句来执行此操作。
SHOW TABLES WHERE Tables_in_tianyan LIKE '%cms%'
【讨论】:
我想通过like 'cms' or like 'role'
过滤,这里似乎不需要WHERE Tables_in_tianyan
。【参考方案3】:
show tables from mydb
where
Tables_in_mydb like '%statistics%'
or Tables_in_mydb like '%device%';
【讨论】:
【参考方案4】:您使用以下代码获取表格列表
select TABLE_NAME from information_schema.TABLES where TABLE_SCHEMA = 'database_name'
希望对你有所帮助。
【讨论】:
以上是关于具有多个 LIKE 值的 SHOW TABLES 语句的主要内容,如果未能解决你的问题,请参考以下文章
具有相同值的 NSManagedObjects 的 CoreData NSSet-Like 行为