information_schema 概览

当 SHOW 满足不了灵活筛选(比如'找出所有库里含某字段的表'),就要查 information_schema。它是 MySQL 自带的只读字典库,库表列索引信息全在这里以普通表形式暴露。

information_schema 概览要点

information_schema 概览示例

						-- 所有数据库及其字符集
						SELECT SCHEMA_NAME, DEFAULT_CHARACTER_SET_NAME
						FROM information_schema.SCHEMATA;

						-- 当前库所有表的引擎与估算行数
						SELECT TABLE_NAME, ENGINE, TABLE_ROWS
						FROM information_schema.TABLES
						WHERE TABLE_SCHEMA = 'shop';

						-- 找出所有含 user_id 列的表
						SELECT TABLE_NAME, COLUMN_NAME
						FROM information_schema.COLUMNS
						WHERE TABLE_SCHEMA = 'shop'
						  AND COLUMN_NAME = 'user_id';
避坑提醒:information_schema 的 TABLE_ROWS 是估算值,InnoDB 尤其不准;要精确计数仍需对具体表跑 COUNT(*)。
information_schema 概览 · 元数据查询 知识卡片
卡片 03 / 08 · 元数据查询(1080×1440 速查卡片)

元数据查询知识点