ホームページ >データベース >mysql チュートリアル >mysql でデータベースにあるテーブルの数をクエリする方法

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

青灯夜游
青灯夜游オリジナル
2021-12-02 11:13:5628374ブラウズ

データベースにあるテーブルの数をクエリする 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。