sql >> データベース >  >> RDS >> MariaDB

MariaDBデータベース内のすべてのテーブルを一覧表示する4つの方法

    以下は、SQLまたはコマンドラインを使用してMariaDBデータベースのテーブルを一覧表示する4つの方法です。

    SHOW TABLES コマンド

    SHOW TABLES コマンドは非TEMPORARYをリストします 特定のデータベース内のテーブル、シーケンス、およびビュー:

    SHOW TABLES;

    結果:

    +--------------------+
    | Tables_in_pethouse |
    +--------------------+
    | Owners             |
    | PetTypes           |
    | Pets               |
    | vownercount        |
    | vpetcount          |
    | vpetsowners        |
    | vpetstypes         |
    | vpettypecount      |
    +--------------------+

    これにより、現在のデータベース内のすべてのテーブルが一覧表示されます。これは、pethouseと呼ばれます。 。

    FULLも使用できます タイプを表示する2番目の列を返す修飾子:

    SHOW FULL TABLES;

    結果:

    +--------------------+------------+
    | Tables_in_pethouse | Table_type |
    +--------------------+------------+
    | Owners             | BASE TABLE |
    | PetTypes           | BASE TABLE |
    | Pets               | BASE TABLE |
    | vownercount        | VIEW       |
    | vpetcount          | VIEW       |
    | vpetsowners        | VIEW       |
    | vpetstypes         | VIEW       |
    | vpettypecount      | VIEW       |
    +--------------------+------------+

    このデータベースのほとんどの「テーブル」は、実際にはビューであることがわかります。

    ベーステーブルのみを返す場合は、WHEREを使用できます。 条項:

    SHOW FULL TABLES
    WHERE Table_type = 'BASE TABLE';

    結果:

    +--------------------+------------+
    | Tables_in_pethouse | Table_type |
    +--------------------+------------+
    | Owners             | BASE TABLE |
    | PetTypes           | BASE TABLE |
    | Pets               | BASE TABLE |
    +--------------------+------------+

    SHOW TABLES LIKEも受け入れます 特定のパターンに一致するテーブルのみに結果を絞り込むために使用できる句:

    SHOW TABLES
    LIKE 'pet%';

    結果:

    +---------------------------+
    | Tables_in_pethouse (pet%) |
    +---------------------------+
    | PetTypes                  |
    | Pets                      |
    +---------------------------+

    SHOW TABLE STATUS コマンド

    SHOW TABLE STATUS コマンドはSHOW TABLESに似ています コマンドですが、それぞれに関するより広範な情報を提供します(TEMPORARY以外 ) テーブル。

    WHEREも受け入れます およびLIKE SHOW TABLESのような句 。

    例:

    SHOW TABLE STATUS
    LIKE 'pet%';

    結果:

    +----------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+------------------+-----------+
    | 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 | Max_index_length | Temporary |
    +----------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+------------------+-----------+
    | PetTypes | InnoDB |      10 | Dynamic    |    4 |           4096 |       16384 |               0 |            0 |         0 |           NULL | 2021-03-30 09:10:36 | NULL        | NULL       | utf8mb4_general_ci |     NULL |                |         |                0 | N         |
    | Pets     | InnoDB |      10 | Dynamic    |    8 |           2048 |       16384 |               0 |        32768 |         0 |           NULL | 2021-04-01 15:42:43 | NULL        | NULL       | utf8mb4_general_ci |     NULL |                |         |                0 | N         |
    +----------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+------------------+-----------+

    information_schema.TABLES

    information_schema.TABLESをクエリすることもできます 表:

    SELECT 
        TABLE_NAME
    FROM 
        information_schema.TABLES 
    WHERE 
        TABLE_SCHEMA LIKE 'pethouse' AND TABLE_TYPE LIKE 'BASE_TABLE';

    結果:

    +------------+
    | TABLE_NAME |
    +------------+
    | Pets       |
    | Owners     |
    | PetTypes   |
    +------------+

    TABLE_SCHEMAで結果をフィルタリングせずにこれをクエリする すべてのデータベースからテーブルを返します。同様に、TABLE_TYPEでフィルタリングせずにクエリを実行します すべてのテーブルタイプを返します。

    mariadb-show クライアント

    これを行う別の方法は、mariadb-showを使用することです。 効用。

    このオプションを使用するには、コマンドラインプロンプト/ターミナルウィンドウを開き、次のコマンドを実行します(pethouseを置き換えます) 興味のあるデータベースを使用):

    mariadb-show pethouse;

    結果:

    +---------------+
    |    Tables     |
    +---------------+
    | Owners        |
    | PetTypes      |
    | Pets          |
    | vownercount   |
    | vpetcount     |
    | vpetsowners   |
    | vpetstypes    |
    | vpettypecount |
    +---------------+

    これにより、ビューとテーブルが返されます。

    出力には、いくつかの特権を持っているデータベース、テーブル、または列の名前のみが表示されます。

    データベースが指定されていない場合は、一致するすべてのデータベースが表示されます。テーブルが指定されていない場合は、データベース内の一致するすべてのテーブルが表示されます。列が指定されていない場合は、テーブル内の一致するすべての列と列タイプが表示されます。

    クライアントはmysqlshowとして実行することもできます :

    mysqlshow pethouse;

    このユーティリティは、--userなどのかなりの数のオプションを受け入れます (ユーザー名を渡すことができるように)、--password (パスワードを渡すことができるように)など

    オプションの完全なリストについては、MariaDBのドキュメントを参照してください。


    1. 列と複数の行で1つの行の複数の列にグループ化する

    2. MySQL接続が機能しない:2002そのようなファイルまたはディレクトリはありません

    3. SQLRecoverableException:I / O例外:接続のリセット

    4. SQLSTATE [HY093]:無効なパラメーター番号:パラメーターが定義されていません