mysql如何查询数据库有多少表
发布时间:2021-12-17 04:54:40 所属栏目:MySql教程 来源:互联网
导读:这篇文章主要为大家展示了mysql如何查询数据库有多少表,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下mysql如何查询数据库有多少表这篇文章吧。 mysql查询数据库有多少表的方法:1、使用MySQL客户端登录到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:UsersAdministrator>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如何查询数据库有多少表”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道! ![]() (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |