MySQLでは、SHOW TABLES TEMPORARY以外をリストする管理ステートメントです 特定のデータベースのテーブルとビュー。
SHOW TABLES 特権を持っているテーブルとビューのみが一覧表示されます。
構文は次のようになります:
SHOW [EXTENDED] [FULL] TABLES
[{FROM | IN} db_name]
[LIKE 'pattern' | WHERE expr] デモンストレーションの例を次に示します。
SHOW TABLES; 結果:
+-----------------+ | Tables_in_music | +-----------------+ | Albums | | Artists | | Genres | | valbumsartists | | valbumsgenres | | vallalbums | | vallartists | | vallgenres | +-----------------+
これにより、現在のデータベース(この場合はMusic)のテーブルが表示されます。 データベース。
FULLを使用できます テーブルタイプを返す修飾子:
SHOW FULL TABLES; 結果:
+-----------------+------------+ | Tables_in_music | Table_type | +-----------------+------------+ | Albums | BASE TABLE | | Artists | BASE TABLE | | Genres | BASE TABLE | | valbumsartists | VIEW | | valbumsgenres | VIEW | | vallalbums | VIEW | | vallartists | VIEW | | vallgenres | VIEW | +-----------------+------------+
この例で返されるテーブルの一部は実際にはビューであることがわかります。
LIKE 条項
LIKE 句を使用して、一致するテーブル名を指定できます:
SHOW TABLES
LIKE 'a%'; 結果:
+----------------------+ | Tables_in_music (a%) | +----------------------+ | Albums | | Artists | +----------------------+
WHERE 条項
WHERE 句を使用して、特定の基準に基づいて結果をフィルタリングできます。
SHOW FULL TABLES
WHERE Table_type = 'BASE TABLE'; 結果:
+-----------------+------------+ | Tables_in_music | Table_type | +-----------------+------------+ | Albums | BASE TABLE | | Artists | BASE TABLE | | Genres | BASE TABLE | +-----------------+------------+
WHEREを使用することもできます Tables_in_dbnameを使用した最初の列に対する句 規則、ここでdbname データベースの名前です:
SHOW FULL TABLES
WHERE Tables_in_music = 'Artists'; 結果:
+-----------------+------------+ | Tables_in_music | Table_type | +-----------------+------------+ | Artists | BASE TABLE | +-----------------+------------+
EXTENDED 修飾子
オプションのEXTENDED 修飾子を使用して、失敗したALTER TABLEによって作成された非表示のテーブルを一覧表示できます ステートメント。これらの一時テーブルの名前は#sqlで始まります DROP TABLEを使用して削除できます 。