mysql如何查询数据库有多少表
这篇文章主要为大家展示了"mysql如何查询数据库有多少表",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"mysql如何查询数据库有多少表"这篇文章吧。
mysql查询数据库有多少表的方法:1、使用MySQL客户端登录到MySQL数据库服务器;2、使用"USE 数据库名"语句切换到指定的数据库中;3、使用"SHOW TABLES;"语句列出指定数据库中的所有表即可。
本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。
在mysql中,可以利用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 changedmysql>
步骤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 UNIONSELECT 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如何查询数据库有多少表"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!