问题
mysql> SHOW TABLES like 'cms'; +-------------------------+ | Tables_in_tianyan (cms) | +-------------------------+ | cms | +-------------------------+ 1 row in set (0.00 sec)
Result
mysql> SHOW TABLES like 'cms' or like 'role'; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual...
How can I filter by multiple conditions ?
回答1:
You need to use the WHERE
clause. As shown in the docs, you can only have a single pattern if you use "SHOW TABLES LIKE ..."
, but you can use an expression in the WHERE clause if you use "SHOW TABLES WHERE ..."
. Since you want an expression, you need to use the WHERE
clause.
SHOW TABLES
FROM `<yourdbname>`
WHERE
`Tables_in_<yourdbname>` LIKE '%cms%'
OR `Tables_in_<yourdbname>` LIKE '%role%';
回答2:
You can just use a normal SQL WHERE
statement to do it.
SHOW TABLES WHERE Tables_in_tianyan LIKE '%cms%'
回答3:
show tables from mydb
where
Tables_in_mydb like '%statistics%'
or Tables_in_mydb like '%device%';
回答4:
You take table list using the below code
select TABLE_NAME from information_schema.TABLES where TABLE_SCHEMA = 'database_name'
Hope it will help you.
来源:https://stackoverflow.com/questions/5609620/show-tables-statement-with-multiple-like-values