Maison  >  Article  >  base de données  >  Comment interroger le nombre de tables d'une base de données dans MySQL

Comment interroger le nombre de tables d'une base de données dans MySQL

青灯夜游
青灯夜游original
2021-12-02 11:13:5628322parcourir

Méthode MySQL pour interroger le nombre de tables d'une base de données : 1. Utilisez le client MySQL pour vous connecter au serveur de base de données MySQL ; 2. Utilisez l'instruction "USE database name" pour basculer vers la base de données spécifiée ; SHOW TABLES;" instruction pour lister Spécifiez simplement toutes les tables de la base de données.

Comment interroger le nombre de tables d'une base de données dans MySQL

L'environnement d'exploitation de ce tutoriel : système windows7, version mysql8, ordinateur Dell G3.

Dans MySQL, vous pouvez utiliser l'instruction SHOW TABLES pour demander combien de tables il y a dans la base de données. Cette instruction peut lister toutes les tables de la base de données. 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

Pour lister toutes les tables d'une base de données MySQL, veuillez suivre ces étapes :

🎜La syntaxe de la commande MySQL SHOW TABLES est expliquée ci-dessous : 🎜rrreee

Exemple MySQL SHOW TABLES h2>🎜L'exemple suivant montre comment lister toutes les tables de la base de données yiibaidb. 🎜🎜Étape 1 - Connectez-vous au serveur de base de données MySQL : 🎜rrreee 🎜Étape 2 - Basculez vers la base de données yiibaidb : 🎜rrreee🎜Étape 3 - Afficher toutes les tables de la base de données yiibaidb : 🎜rrreee🎜 La commande SHOW TABLES peut afficher si la table est une table de base ou une vue. Pour inclure le type de table dans les résultats, utilisez l'instruction SHOW TABLES, comme indiqué ci-dessous - 🎜rrreee🎜Exécutez l'instruction ci-dessus comme indiqué ci-dessous -🎜rrreee🎜Nous sommes dans le yiibaidb base de données code> Créez une vue appelée <code>view_contacts qui inclut le prénom, le nom et le numéro de téléphone des tables employés et clients. 🎜rrreee🎜Maintenant, exécutez la commande SHOW FULL TABLES : 🎜rrreee🎜Vous pouvez voir, v_contacts, view_contacts, vps et ainsi de suite sont des vues (<em>VIEW</em>), tandis que d'autres tables sont des tables de base (<em>BASE TABLE</em>). 🎜🎜Pour les bases de données comportant de nombreuses tables, il peut être intuitif d'afficher toutes les tables en même temps. 🎜🎜Heureusement, la commande <code>SHOW TABLES fournit une option qui permet d'utiliser l'opérateur LIKE ou des paires d'expressions dans la clause WHERE pour renvoyer le filtre. les tableaux comme suit : 🎜rrreee🎜Par exemple, pour afficher tous les tableaux commençant par les lettres p dans la base de données yiibaidb, utilisez l'instruction suivante : 🎜rrreee🎜ou Pour afficher tables se terminant par la chaîne 'es', utilisez l'instruction suivante : 🎜rrreee🎜L'instruction suivante illustre comment utiliser WHERE dans l'instruction <code>SHOW TABLES. La clause code> répertorie toutes les vues de la base de données yiibai -🎜rrreee🎜Parfois, vous souhaitez voir les tables d'une base de données autre que celle que vous utilisez actuellement. Vous pouvez utiliser la clause FROM de l'instruction SHOW TABLES pour spécifier la base de données dans laquelle la table doit être affichée. 🎜🎜L'exemple suivant montre comment afficher des tableaux commençant par 'time' 🎜rrreee🎜L'instruction suivante est équivalente à l'instruction ci-dessus, mais elle utilise IN au lieu de FROM , comme indiqué ci-dessous - 🎜rrreee🎜 Veuillez noter que si vous n'avez pas d'autorisations sur la table ou la vue de base, elle n'apparaîtra pas dans le jeu de résultats de SHOW TABLES commande. 🎜🎜【Recommandations associées : 🎜tutoriel vidéo mysql🎜】🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn