今天由于业务需求,需要获取某张表的一些特定格式的字段。 了解到需求后,开始不知如何下手,经过网上查询,了解到在mysql默认的information_schema数据库中有我们很多相关的表信息以及其他信息,而我需要的表字段信息就在其中一个COLUMNS表里面。首先说明我的需求(查询表中某些符合条件的字段并把注释查询出来)
实际一个简单的SQL就ok了
SELECT
t.COLUMN_NAME,
t.COLUMN_COMMENT
FROM
information_schema.COLUMNS t
WHERE
t.TABLE_SCHEMA = ( SELECT DATABASE ( ) )
AND t.TABLE_NAME = 'quota_attribute'
AND t.COLUMN_NAME LIKE 'tag_%'
t.COLUMN_NAME, t.COLUMN_COMMENT这是我们查询的字段名和字段注释2个字段
information_schema.COLUMNS 指明了查询的数据库以及表名
下面的三个筛选条件则依次表名,第一筛选出指定数据库数据,第二筛选出指定表数据,第三符合特定开头的数据。
接着抱着好奇心我们看下这个COLUMNS 表除了刚才字段值和备注,还能给我们展示什么数据。

- TABLE_CATALOG 表目录
- TABLE_SCHEMA 表所在的数据库
- TABLE_NAME 表名
- COLUMN_NAME 字段名
- ORDINAL_POSITION 字段排序
- COLUMN_DEFAULT 字段默认值
- IS_NULLABLE 是否允许为空
- DATA_TYPE 字段类型
- CHARACTER_MAXIMUM_LENGTH 字段最大长度
- CHARACTER_OCTET_LENGTH 字段最大字节数
- NUMERIC_PRECISION 字段精度
- NUMERIC_SCALE
- DATETIME_PRECISION 日期精度
- CHARACTER_SET_NAME 字段编码格式
- COLLATION_NAME 字段排序类型
- COLUMN_TYPE 字段类型
- COLUMN_KEY 字段索引
- EXTRA 是否自增
- PRIVILEGES 字段支持操作
- COLUMN_COMMENT 字段注释
所以大家可以看到,其实我们在DDL的语句上面的属性,几乎都可以在COLUMNS表上查到。
PS____掘金的markdown太难用了,下回还是写好后粘贴过来吧