MySQL查看数据库列表
时间:2026-10-19 07:38 作者:emer 分类: 无
MySQL查看数据库列表
引言
刚连上一台MySQL服务器,先要看实例上有哪些库、当前账号能访问哪些库。SHOW DATABASES是最基础的入口,配合information_schema可拿到库名、字符集、容量等完整信息。
列出所有数据库
SHOW DATABASES;
列出当前账号有权限看到的全部库,看不到的库是权限不足,不代表不存在。
查看当前所在库
SELECT DATABASE();
切换库之前先确认当前连接落在哪个库,避免写SQL操作错库。
切换数据库
USE mydb;
切库后后续不加库名的表操作都落在mydb。
查库字符集和排序规则
SELECT SCHEMA_NAME, DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME
FROM information_schema.SCHEMATA;
拿到每个库的默认字符集,排查乱码时先看这里。
查看库占用空间
SELECT table_schema,
ROUND(SUM(data_length+index_length)/1024/1024,2) AS size_mb
FROM information_schema.tables
GROUP BY table_schema
ORDER BY size_mb DESC;
按库汇总数据和索引大小,快速找出占空间大户。
注意事项
- SHOW DATABASES只显示有权限的库,根账号才看全;
- information_schema是系统库,不要往里写业务数据;
- 新库建库时指定utf8mb4,避免emoji乱码;
- 删库DROP DATABASE不可逆,先备份再操作;
- 多实例用端口区分,别把实例和库混淆;
- 脚本里用SELECT SCHEMA_NAME批量遍历,比SHOW好解析。
总结
SHOW DATABASES列库,SELECT DATABASE()看当前库,USE切库,information_schema.SCHEMATA查字符集,按table_schema聚合查容量。先确认当前库再写SQL,建库统一utf8mb4,删库前务必备份,脚本批量处理优先走information_schema。