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
を使用して削除できます 。