MySQL的information_schema库中有个COLUMNS表,里面记录了mysql所有库中所有表的字段信息,该表信息如下:

COLUMNS表的每一条记录都对应了数据库中某个表的某个字段,该表记录了如下信息:

TABLE_CATALOG

MySQL官方文档中说,这个字段值永远是def,但没写这个字段是干嘛用的。

网上有把这个叫表限定符的,有叫登记目录的。作用疑似是和其他种类的数据库做区分。

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

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

组合字段的公式。

information_schema.COLUMNS的更多相关文章

  1. 使用INFORMATION_SCHEMA.Columns查询数据表结构

    使用情形1:写数据字典(Word文档)时, 需要获取表结构,以加快书写速度,当然,前提是没有文档导出工具. 使用情形2:生成实体时, 前提也是没有代码生成工具. 脚本 SELECT A.COLUMN_ ...

  2. INFORMATION_SCHEMA.COLUMNS 查询表字段语句

    INFORMATION_SCHEMA.COLUMNS 视图以 sysobjects.spt_data type_info.systypes.syscolumns.syscomments.sysconf ...

  3. information_schema.columns 学习

    每一个表中的每一列都会在information_schema.columns表中对应一行 1.informaiton_schema.columns 常用列: 1.table_catalog :不管是t ...

  4. SQL Server:INFORMATION_SCHEMA.columns 与sys.columns 与 syscolumns对比

    sys.columns视图 sys.columns是SQL Server从2005版本起引入的新的系统级视图.相关链接如下: Mapping SQL Server 2000 System Tables ...

  5. sql-syscolumns,INFORMATION_SCHEMA.columns,sysobjects

    //计算表tb_Blog的字段个数 select count(*) from syscolumns where id=object_id('tb_Blog') 获取指定表的所有字段和字段类型 SELE ...

  6. mysql中information_schema.columns字段说明

    1. 获取所有列信息(COLUMNS) SELECT  *  FROM information_schema.COLUMNS WHERE  TABLE_SCHEMA='数据库名';  COLUMNS表 ...

  7. easyui datagrid 动态添加columns属性

    公司在项目设计的时候,有一个需求,就是查出来的表的字段不唯一,一张表的字段可能是三个,也可能是五个,但是却要把它显示到页面,这个给我做ui的带来一点麻烦.因为以前一般用easyui 的datagrid ...

  8. return columns.All(new Func<string, bool>(list.Contains));

    internal static bool VerifyColumns(SqlConnection conn, string table, params string[] columns)        ...

  9. MySQL--INFORMATION_SCHEMA COLUMNS表

    在程序中,若想要动态地得到某一个表的具体信息,就使用到了MySQL 中的 INFORMATION_SCHEMA 信息数据库,而它又包含很多表,见下: INFORMATION_SCHEMA SCHEMA ...

随机推荐

  1. ASP.NET MVC 枚举类型转LIST CONTROL控件

    在实际应用中,我们经常会用到下拉框.多选.单选等类似的控件,我们可以统称他们为List Control,他们可以说都是一种类型的控件,相同之处都是由一个或一组键值对的形式的数据进行绑定渲染而成的. 这 ...

  2. python 将本地目录暴露为http服务

    python3 nohup python3 -m http.server 8080 &

  3. vue 路由配置

    1.不带参数的路由配置 及 跳转 //路由配置: { name: "a", path: "/a", component: a }   页面跳转: this.$r ...

  4. Spring Boot(5)一个极简且完整的后台框架

    https://blog.csdn.net/daleiwang/article/details/75007588 Spring Boot(5)一个极简且完整的后台框架 2017年07月12日 11:3 ...

  5. SQL Server获取星期几

    上一周在解决一个Bug的时候,需要在SQL Server获取星期几的需求,在网上搜索了下,发现一篇好的文章,特转载下! 今天是星期几,例子 1: 1 SET LANGUAGE N'English' - ...

  6. transform、transition、animation 区别

    Transform 在部分的test case当中,每每演示transform属性的,看起来好像都是带动画.这使得小部分直觉化思维的人(包括我)认为transform属性是动画属性.而恰恰相反,tra ...

  7. MFC 使用Skin++ 美化皮肤

    查了好几天关于MFC应用程序换肤的资料,经过各种莫名其妙的问题的困扰,现分享一下自己的体会.希望可 以避免一些弯路.另外会在附上一些资源. 环境:Windows 7 + VS2012 + SkinSh ...

  8. 知识点:Mysql 索引优化实战(3)

    知识点:Mysql 索引原理完全手册(1) 知识点:Mysql 索引原理完全手册(2) 知识点:Mysql 索引优化实战(3) 知识点:Mysql 数据库索引优化实战(4) 索引原理知识回顾 索引的性 ...

  9. java.lang.Long 类源码解读

    总体阅读了Long的源码,基本跟Integer类类似,所以特别全部贴出源码,直接注释进行理解. // final修饰符 public final class Long extends Number i ...

  10. Ajax2简单的使用方式

    http://www.cnblogs.com/Ming8006/p/6142191.html