Navicat中查看数据库和表的详细信息和统计数据

Navicat直接点数据库右键选"对象信息",看数据库字符集、创建时间。
点表名右键选"对象信息",看存储引擎、行数预估、更新时间。

表设计视图点右键"设计表",看字段名、类型、主键、外键。
点右键"表统计信息",看行数、数据大小、碎片率。

执行SQL SELECT TABLE_ROWS FROM information_schema.TABLES WHERE TABLE_SCHEMA='your_db' AND TABLE_NAME='your_tb'; 查实时行数。

Ctrl+Q开查询,F6 快速设计表。
ANALYZE TABLE 刷新统计。

查看所有表的命令

直接说,MySQL里看所有表用SHOW TABLES;PLSQL里看当前用户表,要么用SELECT TABLE_NAME FROM ALL_TABLES WHERE OWNER='用户名',要么用SELECT FROM USER_TABLES;看整个数据库的表,就一个命令,SELECT FROM tab。
记得用户名要大写哦。

mysql中的命令showtables,desctable有什么区别?

说实话,当年我刚摸MySQL那会儿,这两个命令把我绕得够呛。
让我用我自己的话说说这俩的区别。

先说SHOW TABLES。
这玩意儿特别直白,就是让你看当前数据库里都有啥表。
比如你在工作日早上要给客户做个报表,想知道用户表和订单表都在不在库里,直接SHOW TABLES;划一下就出来了。
我印象最深的是有一次半夜调试,数据库突然炸了不知道少了哪个表,就是靠这个命令快速扫了一遍,省了半天劲儿。
它输出就是一串表名,像id | name | created_at这种,没啥花里胡哨的。

但DESC TABLE就复杂多了。
这命令是让你拆解一个表的每一块砖。
我上次给实习生讲这个,举了个电商订单表,我让他用DESC orders;,结果屏幕上蹦出一堆东西:Field | Type | Null | Key | Default | Extra,每个字段都解释得明明白白。
比如status列是ENUM('pending', 'paid', 'shipped'),created_at是TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,连注释都有。
有意思的是,这命令对新手特别友好,因为你看懂了DESC输出,就真的知道怎么往表里塞数据了。
我当时帮隔壁组调一个插入失败的问题,就是靠DESC发现他们的字段类型写错了。

使用场景上,SHOW TABLES就像你路过超市要看看有啥水果,DESC TABLE才像你要研究苹果的品种和糖分含量。
比如你要写一个跨表的JOIN查询,先得知道两个表都有哪些列吧?这时候DESC比SHOW靠谱多了。
我记得有次做数据迁移,对方数据库表名全乱码,最后靠DESC命令逐个比对字段,才没出岔子。

块没跑过全世界的数据库,但就我个人经验,这两命令就像自行车上的两个轮子,得配合着用。
你总不能光知道有表名,却不知道表长啥样吧?