web-dev-qa-db-fra.com

Instruction SHOW TABLES avec plusieurs valeurs LIKE

 mysql> AFFICHER LES TABLES comme 'cms'; 
 + ------------------------- + 
 | Tables_en_tianyan (cms) | 
 + ------------------------- + 
 | cms | 
 + ------------------------- + 
 1 rangée dans l'ensemble (0,00 sec) 

Résultat

 mysql> AFFICHER LES TABLES comme 'cms' ou comme 'role'; 
 ERREUR 1064 (42000): Vous avez une erreur dans votre syntaxe SQL; consultez le manuel ... 

Comment puis-je filtrer par plusieurs conditions?

31
mysql_go

Vous devez utiliser la clause WHERE. Comme indiqué dans le docs , vous ne pouvez avoir qu'un seul modèle si vous utilisez "SHOW TABLES LIKE ...", mais vous pouvez utiliser une expression dans la clause WHERE si vous utilisez "SHOW TABLES WHERE ...". Puisque vous voulez une expression, vous devez utiliser la clause WHERE.

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

Vous pouvez simplement utiliser une instruction SQL WHERE normale pour le faire.

SHOW TABLES WHERE Tables_in_tianyan LIKE '%cms%'
16
mikel
show tables from mydb 
where 
  Tables_in_mydb like '%statistics%' 
  or Tables_in_mydb like '%device%';
7
Edwin Dalorzo

Vous prenez la liste des tableaux en utilisant le code ci-dessous

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

J'espère que cela vous aidera.

2
Phoenix