目录

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';