Инструкция SHOW TABLES с несколькими значениями LIKE

mysql> SHOW TABLES like 'cms';
+-------------------------+
| Tables_in_tianyan (cms) |
+-------------------------+
| cms                     |
+-------------------------+
1 row in set (0.00 sec)

результат

mysql> SHOW TABLES like 'cms' or like 'role';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual...

Как я могу фильтровать по нескольким условиям ?

4 ответов


вам нужно использовать WHERE предложения. Как показано в docs, вы можете иметь только один шаблон, если вы используете "SHOW TABLES LIKE ...", но вы можете использовать выражение в предложении WHERE, если вы используете "SHOW TABLES WHERE ...". Поскольку вам нужно выражение, вам нужно использовать WHERE предложения.

SHOW TABLES
FROM `<yourdbname>`
WHERE 
    `Tables_in_<yourdbname>` LIKE '%cms%'
    OR `Tables_in_<yourdbname>` LIKE '%role%';

вы можете просто использовать обычный SQL WHERE оператор для этого.

SHOW TABLES WHERE Tables_in_tianyan LIKE '%cms%'

show tables from mydb 
where 
  Tables_in_mydb like '%statistics%' 
  or Tables_in_mydb like '%device%';

вы берете таблицу, используя приведенный ниже код

select TABLE_NAME from information_schema.TABLES where TABLE_SCHEMA = 'database_name' 

надеюсь, это поможет вам.