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. 分词工具Hanlp基于感知机的中文分词框架

     结构化感知机标注框架是一套利用感知机做序列标注任务,并且应用到中文分词.词性标注与命名实体识别这三个问题的完整在线学习框架,该框架利用1个算法解决3个问题,时自治同意的系统,同时三个任务顺序渐进,构 ...

  2. 多态,封装,反射,类内置attr属性,os操作复习

    1.多态 #多态 多态是指对象如何通过他们共同的属性和动作来操作及访问,而不需要考虑他们具体的类 运行时候,多种实现 反应运行时候状态 class H2O: def __init__(self,nam ...

  3. python3-基础8

    模块与包 什么是模块 模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. #在python中,模块的使用方式都是一样的,但其实细说的话,模块可以分为四个通用类别: 1 ...

  4. Behavior开发时找不到Expression.Interactions的问题解决

    比如下面使用Behavior的例子,需要参照:Microsoft.Expression.Interactions.dll. <Window x:Class="VisualStudioB ...

  5. JavaScript问题——在浏览器中每一个元素都有一个offsetParent属性,这个属性是什么?

    原文链接http://www.cnblogs.com/zcjnever/archive/2011/04/21/2023133.html Javascript中的offsetParent属性 支持的浏览 ...

  6. 浏览器F12(开发者调试工具) 功能介绍

    调试时使用最多的功能页面是:元素(ELements).控制台(Console).源代码(Sources).网络(Network)等. 元素(Elements):用于查看或修改HTML元素的属性.CSS ...

  7. Python【每日一问】14

    问:请介绍一下Python中的 import 机制 答: import 语句结合了两个操作:1.它先搜索指定名称的模块 2.将搜索结果绑定到当前作用域中的名称. 如果指定名称的模块未找到,则会引发 M ...

  8. [UE4]抓取准备

    一.引擎的VR实例工程是使用手柄进行抓取的.我们需要加上可以使用鼠标进行抓取操作. 二.将左右手保存到全局变量. 三.左右手分别调用抓取和扔方法

  9. 结合源码浅谈Spring容器与其子容器Spring MVC 冲突问题

    容器是整个Spring 框架的核心思想,用来管理Bean的整个生命周期. 一个项目中引入Spring和SpringMVC这两个框架,Spring是父容器,SpringMVC是其子容器,子容器可以看见父 ...

  10. html/css/js----js中遇到的一些问题

    学习前端的时候有时也会遇到一些弄不明白的问题,学习js会有更多的方法不清楚它的用法,我谨以在学习中遇到的一些问题记录下来,以便日复习! 一."window.opener.location.r ...