
文档教程知识库【免费下载链接】til:memo: Today I Learned项目地址https://gitcode.com/gh_mirrors/ti/til点击查看免费下载导读在 MySQL 客户端会话中快速摸清一个实例里有哪些数据库、某个库里有哪些表是日常排查与开发联调的高频操作。本篇以 til 仓库的 list-databases-and-tables.md 为核心系统讲解SHOW DATABASES、SHOW TABLES [IN 库名]、USE 库名三种写法的差异与适用场景并延伸覆盖表名模式匹配、索引与建表语句查看等进阶排查手段读完即可在真实实例上直接套用。快速上手三个命令看清库与表列出所有数据库SHOW DATABASES启动 mysql 客户端会话后如果没有USE到某个具体数据库此时执行SHOW DATABASES会列出当前实例实例即 MySQL Server 上所有可见库的集合中所有可见的数据库 show databases; ----------------------------- | Database | ----------------------------- | information_schema | | my_app_dev | -----------------------------MySQL 官方客户端默认以 ASCII 表格输出结果第一列列名为Database每一行是一个数据库名。上例中可以看到系统库information_schema与应用库my_app_dev。说明SHOW DATABASES只展示当前账号有权限访问至少具备SHOW DATABASES权限或对库拥有部分权限的数据库并非实例上的全部库。若想看到所有库需要对应账号具备全局权限。直接列出某库的表SHOW TABLES IN 库名如果已经知道目标库的名字但当前会话尚未连接过去可以直接用SHOW TABLES IN database列出该库中的全部表无需先切换库 show tables in my_app_dev; ------------------------------ | Tables_in_my_app_dev | ------------------------------ | pokemons | | trainers | ------------------------------输出列名遵循Tables_in_库名的命名约定每行一个表名。SHOW TABLES IN db_name与SHOW TABLES FROM db_name等价两种写法可互换。先连接库再列表USE SHOW TABLES另一种更常见的做法是先用USE切换到目标数据库之后所有查询与SHOW语句都默认作用在该库上无需再显式带库名 use my_app_dev; show tables; ------------------------------ | Tables_in_my_app_dev | ------------------------------ | pokemons | | trainers | ------------------------------USE my_app_dev;之后后续的SHOW TABLES输出与带IN子句的写法完全一致但省去了每次输入库名的开销。这也是日常会话的推荐姿势——一旦连接成功后续SELECT、DESCRIBE等语句都直接落在当前库上。结合仓库笔记的纵深扩展按模式过滤表名SHOW TABLES LIKE当数据库表非常多、又只记得目标表的部分命名特征时可以给SHOW TABLES追加LIKE子句按模式过滤。仓库笔记 show-tables-that-match-a-pattern.md 给出了一个典型场景 show tables like %user%; ------------------------------- | Tables_in_jbranchaud (%user%) | ------------------------------- | admin_users | | users | -------------------------------LIKE后跟 SQL 通配符模式%匹配任意数量字符_匹配单个字符。注意此时输出列名会带上过滤条件形如Tables_in_库名 (%user%)便于确认过滤条件生效。该写法同样兼容SHOW TABLES FROM db_name LIKE pattern的变体。查看表的详细结构DESCRIBE 与 SHOW CREATE TABLE列完表名后通常需要进一步了解某张表的结构。仓库笔记 show-create-statement-for-a-table.md 对比了两种手段DESCRIBE users;简写DESC users;输出字段名、类型、是否可空、键信息、默认值与扩展属性SHOW CREATE TABLE users\G则直接回放建表语句包含主键、唯一键、存储引擎如ENGINEInnoDB与字符集如DEFAULT CHARSETlatin1等完整信息适合研究一张表的全部约束构成。查看表上的索引SHOW INDEXES若关心表的索引情况可结合笔记 show-indexes-for-a-table.md 中的SHOW INDEXES IN users;查看每个索引的列序Seq_in_index、唯一性Non_unique、排序规则Collation、基数Cardinality与索引类型Index_type常见为 BTREE。让宽表输出不再换行以 \G 结尾SHOW INDEXES这类多列输出很容易超出终端宽度。仓库笔记 display-output-in-a-vertical-format.md 提供了一种优雅的解法——把语句结尾的分号;换成\GMySQL 会改为纵向逐行展示 show indexes in users\G *************************** 1. row *************************** Table: users Non_unique: 0 Key_name: PRIMARY Seq_in_index: 1 Column_name: id Collation: A Cardinality: 0 Sub_part: NULL Packed: NULL Null: Index_type: BTREE Comment: Index_comment:纵向格式下每个字段独占一行字段名与取值一一对应对于列数较多的宽表如索引表、日志表可读性远好于横向表格值得作为日常查看SHOW CREATE TABLE、SHOW INDEXES等语句的默认输出习惯。实操补充连接、权限与备份前的库表盘点从零连接一个全新实例如果面对的是刚启动的 MySQL 实例例如 Docker 容器里的 MySQL 镜像默认账号是root、密码为空连接串形如mysql://rootlocalhost:3306这也是仓库笔记 default-username-and-password-for-new-instance.md 记录的事实。用该串即可通过 CLI 或 SQL 客户端连接随后第一件事往往就是执行SHOW DATABASES盘点已有库。安全模式下也适用即使开启了--safe-updates见笔记 connect-to-a-database-in-safe-update-mode.mdSHOW DATABASES与SHOW TABLES这类只读查询也完全不受影响可以放心用于任何会话的安全盘点。备份前的库表清单在mysqldump备份见笔记 dump-a-database-to-a-file.md之前先用SHOW DATABASES确认库名拼写再进入目标库用SHOW TABLES核对表清单能有效避免备份命令因库名或表名写错而失败。备份多个库时可追加--databases db1 db2全量备份则用--all-databases。与分页查询中的库表概念呼应SHOW TABLES给出的表清单之后实际取数时常用LIMIT分页。仓库笔记 select-rows-after-an-offset.md 提醒LIMIT 100, 10与LIMIT 10 OFFSET 100都表示偏移 100 行后取 10 行但行序只有配合ORDER BY才是确定的。这一点在从SHOW TABLES结果展开逐表排查时同样适用——需要稳定顺序时务必带上ORDER BY。小结命令作用适用场景SHOW DATABASES;列出实例中可见的数据库会话刚建立、尚未连接任何库SHOW TABLES IN my_app_dev;列出指定库的表不切换当前库只关心某个库、不想改变会话上下文USE my_app_dev;后SHOW TABLES;切换当前库并列出表后续还要持续操作该库的常规做法SHOW TABLES LIKE %user%;按模式过滤表名表很多、凭命名特征定位目标表SHOW CREATE TABLE users\G回放建表语句研究主键、索引、引擎与字符集细节SHOW INDEXES IN users\G查看索引明细排查索引设计与查询性能掌握了这组命令无论面对全新实例还是陌生库都能在几秒钟内完成有哪些库 → 有哪些表 → 表结构如何的完整信息盘点。相关笔记可在仓库 mysql/ 目录下继续查阅例如 show-tables-that-match-a-pattern.md、show-indexes-for-a-table.md 与 show-create-statement-for-a-table.md。赞分享文档教程知识库【免费下载链接】til:memo: Today I Learned项目地址https://gitcode.com/gh_mirrors/ti/til点击查看免费下载相关推荐StarRocks SHOW DATABASES 完全指南查看内部集群与外部数据源的数据库列表StarRocks SHOW DATABASES 完全指南查看内部集群与外部数据源的数据库列表 SHOW DATABASES 是 StarRocks 中最基础数据库OLAP数据仓库大数据湖仓一体数据分析DBeaver连接MySQL数据库时SHOW DATABASES权限问题的解决方案DBeaver连接MySQL数据库时SHOW DATABASES权限问题的解决方案 在使用DBeaver连接MySQL数据库时许多用户可能会遇到Access数据库客户端桌面应用数据库Polars SQL 之 SHOW TABLES列出 SQLContext 中已注册的 DataFrame 表Polars SQL 之 SHOW TABLES列出 SQLContext 中已注册的 DataFrame 表 SHOW TABLES 是 Polars 内嵌数据分析大数据上一篇WeChatPad源码剖析一Xposed模块入门如何用一行字符串Hook把手机伪装成平板下一篇CloudApi参考指南netease-cloud-music-dl的12个核心接口方法与网易云API调用细节创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考