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.
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;
以下示例说明如何列出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_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
mysql
) Melden Sie sich beim MySQL-Datenbankserver anUSE Database Name
, um zu einer bestimmten Datenbank zu wechseln. 🎜SHOW TABLES
. 🎜SHOW TABLES
wird unten erklärt: 🎜rrreee 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 TABLES
angezeigt 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!