专业的SQL Server、MySQL数据库同步软件
MySQL的information_schema库中有一个COLUMNS表,该表记录所有mysql库中所有表的字段信息。表信息如下:
COLUMNS表中的每个记录对应于数据库中表中的一个字段。该表记录了以下信息:
TABLE_CATALOG
MySQL官方文档说此字段的值始终为def,但为什么不使用此字段。
Internet上有一些叫做表限定符,有些叫做注册目录。该角色被怀疑有别于其他类型的数据库。
TABLE_SCHEMA
该表所属的库。
TABLE_NAME
表名
COLUMN_NAME
字段名称
ORDINAL_POSITION
现场识别。
实际上,它是字段编号,从1开始并返回。
COLUMN_DEFAULT
字段的默认值。
IS_NULLABLE
该字段是否可以为NULL。
此列中记录的值为YES或NO。
DATA_TYPE
数据类型。
内部的值是字符串,例如varchar,float,int。
CHARACTER_MAXIMUM_LENGTH
字段中的最大字符数。
如果该字段设置为varchar(50),则此列中记录的值为50。
此列仅适用于二进制数据,字符,文本和图像数据。其他类型的数据(例如int,float,datetime等)在此列中显示为NULL。
CHARACTER_OCTET_LENGTH
字段中的最大字节数。
与最大字符数相同,仅适用于二进制数据,字符,文本,图像数据,其他类型显示为NULL。
与最大字符数的值成比例,并且与字符集有关。例如,在UTF8类型表中,最大字节数是最大字符数的3倍。
NUMERIC_PRECISION
数字精度。
适用于各种数字类型,例如int,float等。
如果该字段设置为int(10),则此列中保存的值是9,少一位数字,并且尚未研究原因。
如果该字段设置为float(10,3),则此列中报告的值为10。
非数字类型在该列中显示为NULL。
NUMERIC_SCALE
小数位数。
与数字精度相似,它适用于各种数字类型,例如int和float。
如果该字段设置为int(10),则此列中存储的值为0,这意味着没有小数。
如果该字段设置为float(10,3),则此列中错误报告的值为3。
非数字类型在该列中显示为NULL。
DATETIME_PRECISION
日期时间类型和SQL-92间隔类型数据库的子类型代码。
我的本地日期时间字段在此列中显示为0。
其他类型显示为NULL。
CHARACTER_SET_NAME
字段字符集名称。如utf8。
COLLATION_NAME
字符集排序规则。
例如,utf8_general_ci是不区分大小写的排序规则。 utf8_general_cs是区分大小写的排序规则。
COLUMN_TYPE
字段类型。例如,float(9,3),varchar(50)。
COLUMN_KEY
索引类型。
可以包含的值是PRI,代表主键UNI,代表唯一键,MUL和可重复。
额外
其他信息。
例如,主键的auto_increment。
特权
权限
多个权限用逗号分隔,例如选择,插入,更新,引用
COLUMN_COMMENT
实地记录
GENERATION_EXPRESSION
组合字段的公式。
原文:
mysql获取表和字段的元数据
获取表名,表名注释,字段名,字段名注释,字段类型信息