美文网首页
mysql查看表的结构

mysql查看表的结构

作者: 任未然 | 来源:发表于2021-04-01 09:22 被阅读0次

    一. 概述

    在Java开发中, 在某些场景需要知道表的结构详情, 例如: 代码生成, mysql里面有个表information_schema.columns记录着所有表的字段详情, 本文见说明表字段详情如何查找和说明

    二. 说明

    • 查询方法
    select 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,
           generation_expression
    from information_schema.columns
    where table_schema = [数据库名]
      and table_name = [表名];
    
    • 说明
    字段 说明
    table_catalog MySQL官方文档中说,这个字段值永远是def,但没写这个字段是干嘛用的。网上有把这个叫表限定符的,有叫登记目录的。作用疑似是和其他种类的数据库做区分
    table_schema 表格所属的库
    table_name 表名
    column_name 字段名
    ordinal_position 字段标识
    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 datetime类型和SQL-92interval类型数据库的子类型代码。我本地datetime类型的字段在该列显示为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,可重复。
    extra 其他信息。比如主键的auto_increment。
    privileges 权限, 多个权限用逗号隔开,比如 select,insert,update,references
    column_comment 字段注释
    generation_expression 组合字段的公式。

    相关文章

      网友评论

          本文标题:mysql查看表的结构

          本文链接:https://www.haomeiwen.com/subject/ronzhltx.html