Maison > Article > base de données > Comment interroger le nombre de tables d'une base de données dans MySQL
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.
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;
以下示例说明如何列出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
) Connectez-vous au serveur de base de données MySQLUSE database name
pour basculer vers une base de données spécifique. 🎜AFFICHER LES TABLES
. 🎜SHOW TABLES
est expliquée ci-dessous : 🎜rrreee 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!