web-dev-qa-db-ja.com

複数のLIKE値を持つSHOW TABLESステートメント

 mysql> 'cms'のようなテーブルを表示; 
 + ------------------------- + 
 | Tables_in_tianyan(cms)| 
 + ------------------------- + 
 | cms | 
 + ------------------------- + 
 1行セット(0.00秒)

結果

 mysql> SHOW TABLES like 'cms'またはlike 'role'; 
 ERROR 1064(42000):SQL構文にエラーがあります。マニュアルを確認してください... 

複数の条件でフィルタリングするにはどうすればよいですか?

31
mysql_go

WHERE句を使用する必要があります。 docs に示すように、"SHOW TABLES LIKE ..."を使用する場合は1つのパターンしか使用できませんが、"SHOW TABLES WHERE ..."を使用する場合はWHERE句で式を使用できます。式が必要なため、WHERE句を使用する必要があります。

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

通常のSQL WHEREステートメントを使用してそれを行うことができます。

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

以下のコードを使用してテーブルリストを取得します

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

それがあなたを助けることを願っています。

2
Phoenix