以下は、SQLまたはコマンドラインを使用してMySQLデータベースのビューを一覧表示する4つの方法です。
SHOW TABLES
コマンド
SHOW TABLES
コマンドは非TEMPORARY
をリストします 特定のMySQLデータベース内のテーブル、シーケンス、およびビュー。 WHERE
を使用できます ビューだけに絞り込むための句。
FULL
も使用できます タイプを表示する2番目の列を返す修飾子:
SHOW FULL TABLES
WHERE Table_Type LIKE 'VIEW';
結果:
+-----------------+------------+ | Tables_in_music | Table_type | +-----------------+------------+ | valbumsartists | VIEW | | valbumsgenres | VIEW | | vallalbums | VIEW | | vallartists | VIEW | | vallgenres | VIEW | +-----------------+------------+
WHERE
を省略します 句はすべてのタイプを返します:
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 | +-----------------+------------+
SHOW TABLE STATUS
コマンド
MySQLでは、SHOW TABLE STATUS
コマンドはSHOW TABLES
に似ています コマンドですが、それぞれに関するより広範な情報を提供します(TEMPORARY
以外 )テーブル。
例:
SHOW TABLE STATUS;
結果:
+----------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+--------------------+----------+----------------+---------+ | Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment | +----------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+--------------------+----------+----------------+---------+ | Albums | InnoDB | 10 | Dynamic | 20 | 819 | 16384 | 0 | 32768 | 0 | 21 | 2021-11-13 12:56:02 | 2021-11-13 12:56:13 | NULL | utf8mb4_0900_ai_ci | NULL | | | | Artists | InnoDB | 10 | Dynamic | 16 | 1024 | 16384 | 0 | 0 | 0 | 17 | 2021-11-13 12:56:02 | 2021-11-13 12:56:13 | NULL | utf8mb4_0900_ai_ci | NULL | | | | Genres | InnoDB | 10 | Dynamic | 8 | 2048 | 16384 | 0 | 0 | 0 | 9 | 2021-11-13 12:56:02 | 2021-11-13 12:56:13 | NULL | utf8mb4_0900_ai_ci | NULL | | | | valbumsartists | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 2021-11-15 06:02:24 | NULL | NULL | NULL | NULL | NULL | VIEW | | valbumsgenres | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 2021-11-15 06:09:47 | NULL | NULL | NULL | NULL | NULL | VIEW | | vallalbums | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 2021-11-15 06:12:51 | NULL | NULL | NULL | NULL | NULL | VIEW | | vallartists | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 2021-11-15 06:13:02 | NULL | NULL | NULL | NULL | NULL | VIEW | | vallgenres | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 2021-11-15 06:12:36 | NULL | NULL | NULL | NULL | NULL | VIEW | +----------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+--------------------+----------+----------------+---------+
WHERE
も受け入れます およびLIKE
結果を絞り込みたい場合の句。
information_schema.TABLES
表
information_schema.TABLES
をクエリすることもできます 表:
SELECT
TABLE_SCHEMA,
TABLE_NAME,
TABLE_TYPE
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA LIKE 'music' AND TABLE_TYPE LIKE 'VIEW';
結果:
+--------------+----------------+------------+ | TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE | +--------------+----------------+------------+ | Music | valbumsartists | VIEW | | Music | valbumsgenres | VIEW | | Music | vallgenres | VIEW | | Music | vallalbums | VIEW | | Music | vallartists | VIEW | +--------------+----------------+------------+
この場合、music
というデータベースからすべてのビューを返しました。 。 TABLE_SCHEMA
で結果をフィルタリングせずにこれをクエリする すべてのデータベースからビューを返します。同様に、TABLE_TYPE
でフィルタリングせずにクエリを実行します すべてのテーブルタイプを返します。
mysqlshow
クライアント
これを行う別の方法は、mysqlshow
を使用することです。 効用。
このオプションを使用するには、コマンドラインプロンプト/ターミナルウィンドウを開き、次のコマンドを実行します。
mysqlshow --user root --password music;
必ずmusic
を置き換えてください 興味のあるデータベースとroot
該当するユーザーと。 --password
ビットを指定すると、ユーザーはパスワードの入力を求められます。
結果:
Enter password: Database: music +----------------+ | Tables | +----------------+ | Albums | | Artists | | Genres | | valbumsartists | | valbumsgenres | | vallalbums | | vallartists | | vallgenres | +----------------+
mysqlshow
クライアントはビューとテーブルを返します。
出力には、ユーザーがいくつかの特権を持っているデータベース、テーブル、または列の名前のみが表示されます。
データベースが指定されていない場合は、一致するすべてのデータベースが表示されます。テーブルが指定されていない場合は、データベース内の一致するすべてのテーブルが表示されます。列が指定されていない場合は、テーブル内の一致するすべての列と列タイプが表示されます。