溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mysql如何查詢數(shù)據(jù)庫有多少表

發(fā)布時(shí)間:2021-12-02 11:34:29 來源:億速云 閱讀:169 作者:小新 欄目:MySQL數(shù)據(jù)庫

這篇文章主要為大家展示了“mysql如何查詢數(shù)據(jù)庫有多少表”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“mysql如何查詢數(shù)據(jù)庫有多少表”這篇文章吧。

mysql查詢數(shù)據(jù)庫有多少表的方法:1、使用MySQL客戶端登錄到MySQL數(shù)據(jù)庫服務(wù)器;2、使用“USE 數(shù)據(jù)庫名”語句切換到指定的數(shù)據(jù)庫中;3、使用“SHOW TABLES;”語句列出指定數(shù)據(jù)庫中的所有表即可。

本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。

在mysql中,可以利用SHOW TABLES語句來查詢數(shù)據(jù)庫有多少表,該語句可以列出數(shù)據(jù)庫的所有表。

要在MySQL數(shù)據(jù)庫中列出所有表,請按照下列步驟操作:

  • 使用MySQL客戶端(如mysql)登錄到MySQL數(shù)據(jù)庫服務(wù)器

  • 使用 USE 數(shù)據(jù)庫名 語句切換到特定的數(shù)據(jù)庫。

  • 使用SHOW TABLES命令。

下面說明了MySQL SHOW TABLES命令的語法:

SHOW TABLES;

MySQL SHOW TABLES示例

以下示例說明如何列出yiibaidb數(shù)據(jù)庫中的所有表。

步驟1 - 連接到MySQL數(shù)據(jù)庫服務(wù)器:

C:\Users\Administrator>mysql -u root -p

步驟2 -切換到yiibaidb數(shù)據(jù)庫:

mysql> USE yiibaidb;
Database changed
mysql>

步驟3 - 顯示yiibaidb數(shù)據(jù)庫中的所有表:

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命令可顯示表是基表還是視圖。 要在結(jié)果中包含表類型,請使用SHOW TABLES語句,如下所示 -

SHOW FULL TABLES;

執(zhí)行上面語句,如下所示 -

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數(shù)據(jù)庫中創(chuàng)建一個(gè)名為view_contacts的視圖,其中包括來自employeescustomers表的名字,姓氏和電話。

CREATE VIEW view_contacts 
AS 
SELECT lastName, firstName, extension as phone 
FROM employees 
UNION
SELECT contactFirstName, contactLastName, phone 
FROM customers;

現(xiàn)在,執(zhí)行查詢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)。

對(duì)于具有很多表的數(shù)據(jù)庫,一次顯示所有表可能不免直觀。

幸運(yùn)的是,SHOW TABLES命令提供了一個(gè)選項(xiàng),允許使用LIKE運(yùn)算符或WHERE子句中的表達(dá)式對(duì)返回的表進(jìn)行過濾,如下所示:

SHOW TABLES LIKE pattern;

SHOW TABLES WHERE expression;

例如,要顯示yiibaidb數(shù)據(jù)庫中以字母p開頭的所有表,請使用以下語句:

mysql> SHOW TABLES LIKE 'p%';
+-------------------------+
| Tables_in_yiibaidb (p%) |
+-------------------------+
| payments                |
| price_logs              |
| productlines            |
| products                |
+-------------------------+
4 rows in set

或者顯示以’es‘字符串結(jié)尾的表,可使用以下語句:

mysql> SHOW TABLES LIKE '%es';
+--------------------------+
| Tables_in_yiibaidb (%es) |
+--------------------------+
| employees                |
| offices                  |
| productlines             |
+--------------------------+
3 rows in set

以下語句說明了如何在SHOW TABLES語句中使用WHERE子句列出yiibai數(shù)據(jù)庫中的所有視圖 -

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

有時(shí),希望看到非當(dāng)前使用的數(shù)據(jù)庫中的表??梢允褂?code>SHOW TABLES語句的FROM子句來指定要顯示表的數(shù)據(jù)庫。

以下示例演示如何顯示以’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

以下語句相當(dāng)于上面的語句,但它使用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

請注意,如果您沒有基表或視圖的權(quán)限,則它不會(huì)顯示在SHOW TABLES命令的結(jié)果集中。

以上是“mysql如何查詢數(shù)據(jù)庫有多少表”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI