MySQL 查看数据库表和字段信息
目录
information_schema.COLUMNS
是 MySQL 数据库系统中的一个元数据表,用于存储数据库中所有表的列信息。我们可以可以通过该表查看数据库表的字段信息,不仅方便查看表设计,也可以用来制作数据库文档。
查看当前用户所有楼据库
show databases;
查看当前数据库中所有表
show tables;
查看表中所有列
desc tabName;
tableName是表名
查看字段详细信息
desc tabName
只能查看字段名。
information_schema.COLUMNS
元数据表可以查看字段详细信息:
SELECT
`COLUMN_NAME` AS '字段名',
DATA_TYPE AS '数据类型',
CHARACTER_MAXIMUM_LENGTH AS '字符长度',
NUMERIC_PRECISION AS '数字长度',
NUMERIC_SCALE AS '小数位数',
IS_NULLABLE AS '是否允许非空',
CASE WHEN EXTRA = 'auto_increment' THEN 1 ELSE 0 END AS '是否自增',
COLUMN_DEFAULT AS '默认值',
COLUMN_COMMENT AS '备注'
FROM information_schema.COLUMNS
WHERE `TABLE_SCHEMA`='dbName' AND `TABLE_NAME`='tabName';
连接 INFORMATION_SCHEMA.TABLES
,查出对应的表信息:
SELECT
col.`COLUMN_NAME` AS '字段名',
col.DATA_TYPE AS '数据类型',
col.CHARACTER_MAXIMUM_LENGTH AS '字符长度',
col.NUMERIC_PRECISION AS '数字长度',
col.NUMERIC_SCALE AS '小数位数',
col.IS_NULLABLE AS '是否允许非空',
CASE WHEN col.EXTRA = 'auto_increment' THEN 1 ELSE 0 END AS '是否自增',
col.COLUMN_DEFAULT AS '默认值',
col.COLUMN_COMMENT AS '字段备注',
col.`TABLE_NAME` AS '表名',
tab.TABLE_COMMENT AS '表备注'
FROM information_schema.COLUMNS col
INNER JOIN INFORMATION_SCHEMA.TABLES tab on tab.TABLE_NAME=col.TABLE_NAME
WHERE col.`TABLE_SCHEMA`='dbName' AND col.`TABLE_NAME`='tabName';