Подтвердить что ты не робот

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...

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

4b9b3361

Ответ 1

Вам нужно использовать предложение 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%';

Ответ 2

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

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

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

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

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