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
命令的语法:
SHOWTABLES;MySQL SHOW TABLES示例
以下示例说明如何列出yiibaidb
数据库中的所有表。
步骤1 - 连接到MySQL数据库服务器:
C:\Users\Administrator>mysql-uroot-p
步骤2 -切换到yiibaidb
数据库:
mysql>USEyiibaidb;Databasechangedmysql>
步骤3 - 显示yiibaidb
数据库中的所有表:
mysql>showtables;+--------------------+|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|+--------------------+24rowsinset
SHOW TABLES
命令可显示表是基表还是视图。 要在结果中包含表类型,请使用SHOW TABLES
语句,如下所示 -
SHOWFULLTABLES;
执行上面语句,如下所示 -
mysql>SHOWFULLTABLES;+--------------------+------------+|Tables_in_yiibaidb|Table_type|+--------------------+------------+|aboveavgproducts|VIEW||article_tags|BASETABLE||bigsalesorder|VIEW||contacts|BASETABLE||customerorders|VIEW||customers|BASETABLE||departments|BASETABLE||employees|BASETABLE||employees_audit|BASETABLE||officeinfo|VIEW||offices|BASETABLE||offices_bk|BASETABLE||offices_usa|BASETABLE||orderdetails|BASETABLE||orders|BASETABLE||organization|VIEW||payments|BASETABLE||price_logs|BASETABLE||productlines|BASETABLE||products|BASETABLE||saleperorder|VIEW||user_change_logs|BASETABLE||v_contacts|VIEW||vps|VIEW|+--------------------+------------+24rowsinset
我们在yiibaidb
数据库中创建一个名为view_contacts
的视图,其中包括来自employees
和customers
表的名字,姓氏和电话。
CREATEVIEWview_contactsASSELECTlastName,firstName,extensionasphoneFROMemployeesUNIONSELECTcontactFirstName,contactLastName,phoneFROMcustomers;
现在,执行查询SHOW FULL TABLES
命令:
mysql>SHOWFULLTABLES;+--------------------+------------+|Tables_in_yiibaidb|Table_type|+--------------------+------------+|aboveavgproducts|VIEW||article_tags|BASETABLE||bigsalesorder|VIEW||contacts|BASETABLE||customerorders|VIEW||customers|BASETABLE||departments|BASETABLE||employees|BASETABLE||employees_audit|BASETABLE||officeinfo|VIEW||offices|BASETABLE||offices_bk|BASETABLE||offices_usa|BASETABLE||orderdetails|BASETABLE||orders|BASETABLE||organization|VIEW||payments|BASETABLE||price_logs|BASETABLE||productlines|BASETABLE||products|BASETABLE||saleperorder|VIEW||user_change_logs|BASETABLE||v_contacts|VIEW||view_contacts|VIEW||vps|VIEW|+--------------------+------------+25rowsinset
您可以看到,v_contacts
,view_contacts
,vps
等是视图(VIEW),而其它表则都是基表(BASE TABLE)。
对于具有很多表的数据库,一次显示所有表可能不免直观。
幸运的是,SHOW TABLES
命令提供了一个选项,允许使用LIKE
运算符或WHERE
子句中的表达式对返回的表进行过滤,如下所示:
SHOWTABLESLIKEpattern;SHOWTABLESWHEREexpression;
例如,要显示yiibaidb
数据库中以字母p
开头的所有表,请使用以下语句:
mysql>SHOWTABLESLIKE'p%';+-------------------------+|Tables_in_yiibaidb(p%)|+-------------------------+|payments||price_logs||productlines||products|+-------------------------+4rowsinset
或者显示以’es
‘字符串结尾的表,可使用以下语句:
mysql>SHOWTABLESLIKE'%es';+--------------------------+|Tables_in_yiibaidb(%es)|+--------------------------+|employees||offices||productlines|+--------------------------+3rowsinset
以下语句说明了如何在SHOW TABLES
语句中使用WHERE
子句列出yiibai
数据库中的所有视图 -
mysql>SHOWFULLTABLESWHEREtable_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|+--------------------+------------+9rowsinset
有时,希望看到非当前使用的数据库中的表。可以使用SHOW TABLES
语句的FROM
子句来指定要显示表的数据库。
以下示例演示如何显示以’time
‘开头的表;
mysql>SHOWTABLESFROMmysqlLIKE'time%';+---------------------------+|Tables_in_mysql(time%)|+---------------------------+|time_zone||time_zone_leap_second||time_zone_name||time_zone_transition||time_zone_transition_type|+---------------------------+5rowsinset
以下语句相当于上面的语句,但它使用IN
而不是FROM
子句,如下所示 -
mysql>SHOWTABLESINmysqlLIKE'time%';+---------------------------+|Tables_in_mysql(time%)|+---------------------------+|time_zone||time_zone_leap_second||time_zone_name||time_zone_transition||time_zone_transition_type|+---------------------------+5rowsinset
请注意,如果您没有基表或视图的权限,则它不会显示在SHOW TABLES
命令的结果集中。
以上是“mysql如何查询数据库有多少表”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。