加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql如何查询数据库有哪种表

发布时间:2023-07-10 13:45:37 所属栏目:MySql教程 来源:
导读:这篇文章主要为大家展示了“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:\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命令的结果集中。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章