Heim  >  Artikel  >  Datenbank  >  So fragen Sie ab, wie viele Tabellen eine Datenbank in MySQL hat

So fragen Sie ab, wie viele Tabellen eine Datenbank in MySQL hat

青灯夜游
青灯夜游Original
2021-12-02 11:13:5628301Durchsuche

MySQL-Methode zum Abfragen, wie viele Tabellen eine Datenbank hat: 1. Verwenden Sie den MySQL-Client, um sich beim MySQL-Datenbankserver anzumelden. 2. Verwenden Sie die Anweisung „USE Database Name“, um zur angegebenen Datenbank zu wechseln. SHOW TABLES;“-Anweisung zum Auflisten Geben Sie einfach alle Tabellen in der Datenbank an.

So fragen Sie ab, wie viele Tabellen eine Datenbank in MySQL hat

Die Betriebsumgebung dieses Tutorials: Windows7-System, MySQL8-Version, Dell G3-Computer.

In MySQL können Sie die Anweisung SHOW TABLES verwenden, um abzufragen, wie viele Tabellen in der Datenbank vorhanden sind. Diese Anweisung kann alle Tabellen in der Datenbank auflisten. 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的视图,其中包括来自employeescustomers表的名字,姓氏和电话。

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_contacts,view_contacts,vps等是视图(VIEW),而其它表则都是基表(BASE TABLE)。

对于具有很多表的数据库,一次显示所有表可能不免直观。

幸运的是,SHOW TABLES命令提供了一个选项,允许使用LIKE运算符或WHERE子句中的表达式对返回的表进行过滤,如下所示:

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

Um alle Tabellen in einer MySQL-Datenbank aufzulisten, befolgen Sie bitte diese Schritte:

🎜Die Syntax des MySQL-Befehls SHOW TABLES wird unten erklärt: 🎜rrreee

MySQL SHOW TABLES-Beispiel h2>🎜Das folgende Beispiel zeigt, wie alle Tabellen in der Datenbank yiibaidb aufgelistet werden. 🎜🎜Schritt 1 – Verbindung zum MySQL-Datenbankserver herstellen: 🎜rrreee 🎜Schritt 2 – Zur yiibaidb-Datenbank wechseln: 🎜rrreee🎜Schritt 3 – Alle Tabellen in der Datenbank yiibaidb anzeigen: 🎜rrreee🎜 Der Befehl SHOW TABLES kann anzeigen, ob es sich bei der Tabelle um eine Basistabelle oder eine Ansicht handelt. Um den Tabellentyp in die Ergebnisse einzubeziehen, verwenden Sie die Anweisung SHOW TABLES, wie unten gezeigt - 🎜rrreee🎜Führen Sie die obige Anweisung wie unten gezeigt aus -🎜rrreee🎜Wir befinden uns im yiibaidb code>-Datenbank Erstellen Sie eine Ansicht mit dem Namen <code>view_contacts, die den Vornamen, den Nachnamen und die Telefonnummer aus den Tabellen employees und customers enthält. 🎜rrreee🎜Führen Sie nun den Abfragebefehl SHOW FULL TABLES aus: 🎜rrreee🎜Sie können v_contacts, view_contacts, vps usw. sind Ansichten (<em>VIEW</em>), während andere Tabellen Basistabellen sind (<em>BASE TABLE</em>). 🎜🎜Bei Datenbanken mit vielen Tabellen kann es intuitiv sein, alle Tabellen auf einmal anzuzeigen. 🎜🎜Glücklicherweise bietet der Befehl <code>SHOW TABLES eine Option, die die Verwendung des Operators LIKE oder von Ausdruckspaaren in der Klausel WHERE ermöglicht, um Filter zurückzugeben die Tabellen wie folgt: 🎜rrreee🎜Um beispielsweise alle Tabellen anzuzeigen, die mit den Buchstaben p in der yiibaidb-Datenbank beginnen, verwenden Sie die folgende Anweisung: 🎜rrreee🎜or Zum Anzeigen Tabellen, die mit der Zeichenfolge „es“ enden, verwenden Sie die folgende Anweisung: 🎜rrreee🎜Die folgende Anweisung veranschaulicht, wie WHERE in der <code>SHOW TABLES-Anweisung verwendet wird code>-Klausel listet alle Ansichten in der yiibai-Datenbank auf -🎜rrreee🎜Manchmal möchten Sie Tabellen in einer anderen Datenbank als der, die Sie gerade verwenden, sehen. Sie können die FROM-Klausel der SHOW TABLES-Anweisung verwenden, um die Datenbank anzugeben, in der die Tabelle angezeigt werden soll. 🎜🎜Das folgende Beispiel zeigt, wie Tabellen angezeigt werden, die mit „time“ beginnen. 🎜rrreee🎜Die folgende Anweisung entspricht der obigen Anweisung, verwendet jedoch IN anstelle von FROM -Klausel, wie unten gezeigt – 🎜rrreee🎜 Bitte beachten Sie, dass diese nicht im Ergebnissatz des SHOW TABLESangezeigt wird, wenn Sie keine Berechtigungen für die Basistabelle oder -ansicht haben > Befehl. 🎜🎜【Verwandte Empfehlung: 🎜MySQL-Video-Tutorial🎜】🎜

Das obige ist der detaillierte Inhalt vonSo fragen Sie ab, wie viele Tabellen eine Datenbank in MySQL hat. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn