mysql でデータベースにあるテーブルの数をクエリする方法

青灯夜游
リリース: 2021-12-02 11:13:56
オリジナル
28318 人が閲覧しました

データベースにあるテーブルの数をクエリする Mysql メソッド: 1. MySQL クライアントを使用して MySQL データベース サーバーにログインします; 2. 「USE データベース名」ステートメントを使用して、指定されたデータベースに切り替えます; 3 "SHOW TABLES; " ステートメントを使用すると、指定したデータベース内のすべてのテーブルが一覧表示されます。

mysql でデータベースにあるテーブルの数をクエリする方法

このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。

mysql では、SHOW TABLES ステートメントを使用して、データベース内のテーブルの数をクエリできます。このステートメントにより、データベース内のすべてのテーブルを一覧表示できます。

MySQL データベース内のすべてのテーブルを一覧表示するには、次の手順に従います。

  • MySQL クライアント ( mysql など) ログを使用します。 MySQL データベース サーバーに接続します。

  • USE データベース名 ステートメントを使用して、特定のデータベースに切り替えます。

  • SHOW TABLES コマンドを使用します。

MySQL SHOW TABLES コマンドの構文を以下に示します。

SHOW TABLES;
ログイン後にコピー

MySQL SHOW TABLES 例

次の例yiibaidb データベース内のすべてのテーブルを列エクスポートする方法を示します。

ステップ 1 - MySQL データベース サーバーに接続します:

C:\Users\Administrator>mysql -u root -p
ログイン後にコピー

ステップ 2 - yiibaidb データベースに切り替えます:

mysql> USE yiibaidb;
Database changed
mysql>
ログイン後にコピー

ステップ 3 - yiibaidb データベース内のすべてのテーブルを表示します:

mysql> show tables;
+--------------------+
| Tables_in_yiibaidb |
+--------------------+
| aboveavgproducts   |
| article_tags       |
| bigsalesorder      |
| contacts           |
| customerorders     |
| customers          |
| departments        |
| employees          |
| employees_audit    |
| officeinfo         |
| offices            |
| offices_bk         |
| offices_usa        |
| orderdetails       |
| orders             |
| organization       |
| payments           |
| price_logs         |
| productlines       |
| products           |
| saleperorder       |
| user_change_logs   |
| v_contacts         |
| vps                |
+--------------------+
24 rows in set
ログイン後にコピー

SHOW TABLES コマンドを使用すると、テーブルがベーステーブルまたはビュー。結果にテーブル タイプを含めるには、以下に示すように SHOW TABLES ステートメントを使用します。 -

SHOW FULL TABLES;
ログイン後にコピー

以下に示すように、上記のステートメントを実行します。 -

mysql> SHOW FULL TABLES;
+--------------------+------------+
| Tables_in_yiibaidb | Table_type |
+--------------------+------------+
| aboveavgproducts   | VIEW       |
| article_tags       | BASE TABLE |
| bigsalesorder      | VIEW       |
| contacts           | BASE TABLE |
| customerorders     | VIEW       |
| customers          | BASE TABLE |
| departments        | BASE TABLE |
| employees          | BASE TABLE |
| employees_audit    | BASE TABLE |
| officeinfo         | VIEW       |
| offices            | BASE TABLE |
| offices_bk         | BASE TABLE |
| offices_usa        | BASE TABLE |
| orderdetails       | BASE TABLE |
| orders             | BASE TABLE |
| organization       | VIEW       |
| payments           | BASE TABLE |
| price_logs         | BASE TABLE |
| productlines       | BASE TABLE |
| products           | BASE TABLE |
| saleperorder       | VIEW       |
| user_change_logs   | BASE TABLE |
| v_contacts         | VIEW       |
| vps                | VIEW       |
+--------------------+------------+
24 rows in set
ログイン後にコピー

現在 # にいます。 # #yiibaidbデータベースに view_contacts という名前のビューを作成します。これには、employees テーブルと customers テーブルの名、姓、電話番号が含まれます。 。

CREATE VIEW view_contacts 
AS 
SELECT lastName, firstName, extension as phone 
FROM employees 
UNION
SELECT contactFirstName, contactLastName, phone 
FROM customers;
ログイン後にコピー

次に、クエリ

SHOW FULL TABLES コマンドを実行します。

mysql> SHOW FULL TABLES;
+--------------------+------------+
| Tables_in_yiibaidb | Table_type |
+--------------------+------------+
| aboveavgproducts   | VIEW       |
| article_tags       | BASE TABLE |
| bigsalesorder      | VIEW       |
| contacts           | BASE TABLE |
| customerorders     | VIEW       |
| customers          | BASE TABLE |
| departments        | BASE TABLE |
| employees          | BASE TABLE |
| employees_audit    | BASE TABLE |
| officeinfo         | VIEW       |
| offices            | BASE TABLE |
| offices_bk         | BASE TABLE |
| offices_usa        | BASE TABLE |
| orderdetails       | BASE TABLE |
| orders             | BASE TABLE |
| organization       | VIEW       |
| payments           | BASE TABLE |
| price_logs         | BASE TABLE |
| productlines       | BASE TABLE |
| products           | BASE TABLE |
| saleperorder       | VIEW       |
| user_change_logs   | BASE TABLE |
| v_contacts         | VIEW       |
| view_contacts      | VIEW       |
| vps                | VIEW       |
+--------------------+------------+
25 rows in set
ログイン後にコピー

ご覧のとおり、

v_contactsview_contactsvps などはビュー (VIEW) であり、他のテーブルはベース テーブル (BASE TABLE) です。

多数のテーブルを含むデータベースの場合、すべてのテーブルを一度に表示する方が直感的かもしれません。

幸いなことに、

SHOW TABLES コマンドには、WHERE 句で LIKE 演算子または式のペアを使用できるオプションが用意されています。 返されるテーブル

SHOW TABLES LIKE pattern;

SHOW TABLES WHERE expression;
ログイン後にコピー

たとえば、

yiibaidb データベース内の文字 p で始まるすべてのテーブルを表示するには、次のステートメントを使用します。

mysql> SHOW TABLES LIKE 'p%';
+-------------------------+
| Tables_in_yiibaidb (p%) |
+-------------------------+
| payments                |
| price_logs              |
| productlines            |
| products                |
+-------------------------+
4 rows in set
ログイン後にコピー

または、文字列 '

es' で終わるテーブルを表示するには、次のステートメントを使用できます。

mysql> SHOW TABLES LIKE '%es';
+--------------------------+
| Tables_in_yiibaidb (%es) |
+--------------------------+
| employees                |
| offices                  |
| productlines             |
+--------------------------+
3 rows in set
ログイン後にコピー

次のステートメントでは、

SHOW TABLES の方法について説明します。ステートメントの WHERE 句を使用して、yiibai データベース内のすべてのビューを一覧表示します。 -

mysql> SHOW FULL TABLES WHERE table_type = 'VIEW';
+--------------------+------------+
| Tables_in_yiibaidb | Table_type |
+--------------------+------------+
| aboveavgproducts   | VIEW       |
| bigsalesorder      | VIEW       |
| customerorders     | VIEW       |
| officeinfo         | VIEW       |
| organization       | VIEW       |
| saleperorder       | VIEW       |
| v_contacts         | VIEW       |
| view_contacts      | VIEW       |
| vps                | VIEW       |
+--------------------+------------+
9 rows in set
ログイン後にコピー

現在データベースに存在しないテーブルを表示したい場合があります。使用。

SHOW TABLES ステートメントの FROM 句を使用して、テーブルを表示するデータベースを指定できます。

次の例は、「

time」で始まるテーブルを表示する方法を示しています。

mysql> SHOW TABLES FROM mysql LIKE 'time%';
+---------------------------+
| Tables_in_mysql (time%)   |
+---------------------------+
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
+---------------------------+
5 rows in set
ログイン後にコピー

次のステートメントは上記のステートメントと同等ですが、

IN を使用します。 以下に示すように、FROM 句の代わりに -

mysql> SHOW TABLES IN mysql LIKE 'time%';
+---------------------------+
| Tables_in_mysql (time%)   |
+---------------------------+
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
+---------------------------+
5 rows in set
ログイン後にコピー
ベース テーブルまたはビューに対する権限がない場合は、## に表示されないことに注意してください。 #SHOW TABLES

コマンドの結果が集中しています。 [関連する推奨事項:

mysql ビデオ チュートリアル

]

以上がmysql でデータベースにあるテーブルの数をクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート