MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLでSHOW TABLESに複数のLIKE条件を指定する方法

MySQLでは、SHOW TABLESステートメントにWHERE句とOR演算子を組み合わせることで、複数のLIKEパターンに一致するテーブルだけを表示できます。特定のテーブル群だけを確認したい場合に非常に便利な手法です。

基本構文

複数のLIKE条件を使ってテーブルを表示するには、以下のような構文を使用します。

SHOW TABLES FROM データベース名
WHERE Tables_in_データベース名 LIKE '%テーブル名1%'
   OR Tables_in_データベース名 LIKE '%テーブル名2%'
   OR Tables_in_データベース名 LIKE '%テーブル名3%'
   ...
   OR Tables_in_データベース名 LIKE '%テーブル名N%';

この構文では、指定したデータベース内のうち、LIKEパターンのいずれかに一致するテーブル名のみが結果として表示されます。条件は必要な数だけOR演算子で連結できます。

実行例

ここでは、データベース「test」内のテーブルを対象に説明します。「userrole」「view_student」「wholewordmatchdemo」という3つのテーブルを一度に表示するクエリは以下のとおりです。

mysql> SHOW TABLES FROM test
    -> WHERE Tables_in_test LIKE '%userrole%'
    ->    OR Tables_in_test LIKE '%view_student%'
    ->    OR Tables_in_test LIKE '%wholewordmatchdemo%';

実行結果

上記のクエリを実行すると、次のような出力が得られます。

+--------------------+
| Tables_in_test     |
+--------------------+
| userrole           |
| view_student       |
| wholewordmatchdemo |
+--------------------+
3 rows in set (0.01 sec)

このように、WHERE句とOR演算子を組み合わせることで、複数のテーブル名パターンに一致するテーブルだけを効率的に絞り込んで表示できます。大量のテーブルがあるデータベースで、目的のテーブルだけを素早く確認したい場合に活用するとよいでしょう。

  1. MySQLで複数のキーワードに一致するレコードを抽出する方法|RLIKE演算子の使い方を解説

    RLIKE演算子を使った複数条件でのレコード絞り込み MySQLで複数の単語(キーワード)のいずれかに一致するレコードを抽出したい場合は、RLIKE演算子を使用します。RLIKEは正規表現によるパターンマッチングを行う演算子で、|(パイプ)で区切ることで、OR条件のように複数の値を指定できます。 基本的な構文は以下のとおりです。 SELECT * FROM yourTableName WHERE yourColumnName RLIKE yourValue1|yourValue2; サンプルテーブルの作成 まず、動作確認用のテーブルを作成しましょう。 mysql> CREATE

  2. MySQLで複数のLIKE演算子をORDER BYと組み合わせる方法

    MySQLでは、複数のLIKE演算子をORDER BY句の中で組み合わせることで、指定したキーワードにより多く一致するレコードを優先的に並べ替えることができます。このテクニックは、LIKE演算子が「一致すれば1」「一致しなければ0」を返すという性質を利用しています。各条件の結果を足し合わせることで一致数を計算し、降順(DESC)にソートすることで、関連度の高いレコードを上位に表示できるのです。以下は、複数のLIKE演算子をORDER BYと組み合わせて実装する際の基本構文です。select *from yourTableName order by ( yourColumnName li