information_schema.COLUMNS
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的更多相关文章
- 使用INFORMATION_SCHEMA.Columns查询数据表结构
使用情形1:写数据字典(Word文档)时, 需要获取表结构,以加快书写速度,当然,前提是没有文档导出工具. 使用情形2:生成实体时, 前提也是没有代码生成工具. 脚本 SELECT A.COLUMN_ ...
- INFORMATION_SCHEMA.COLUMNS 查询表字段语句
INFORMATION_SCHEMA.COLUMNS 视图以 sysobjects.spt_data type_info.systypes.syscolumns.syscomments.sysconf ...
- information_schema.columns 学习
每一个表中的每一列都会在information_schema.columns表中对应一行 1.informaiton_schema.columns 常用列: 1.table_catalog :不管是t ...
- SQL Server:INFORMATION_SCHEMA.columns 与sys.columns 与 syscolumns对比
sys.columns视图 sys.columns是SQL Server从2005版本起引入的新的系统级视图.相关链接如下: Mapping SQL Server 2000 System Tables ...
- sql-syscolumns,INFORMATION_SCHEMA.columns,sysobjects
//计算表tb_Blog的字段个数 select count(*) from syscolumns where id=object_id('tb_Blog') 获取指定表的所有字段和字段类型 SELE ...
- mysql中information_schema.columns字段说明
1. 获取所有列信息(COLUMNS) SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='数据库名'; COLUMNS表 ...
- easyui datagrid 动态添加columns属性
公司在项目设计的时候,有一个需求,就是查出来的表的字段不唯一,一张表的字段可能是三个,也可能是五个,但是却要把它显示到页面,这个给我做ui的带来一点麻烦.因为以前一般用easyui 的datagrid ...
- return columns.All(new Func<string, bool>(list.Contains));
internal static bool VerifyColumns(SqlConnection conn, string table, params string[] columns) ...
- MySQL--INFORMATION_SCHEMA COLUMNS表
在程序中,若想要动态地得到某一个表的具体信息,就使用到了MySQL 中的 INFORMATION_SCHEMA 信息数据库,而它又包含很多表,见下: INFORMATION_SCHEMA SCHEMA ...
随机推荐
- Java递归:一个NB自慰的操作
递归的核心思想:自身调用自身 示例一:求5的阶乘 常规方法: 使用while循环 1 public class Demo01 { 2 3 public static void main(String[ ...
- C#用反射实现两个类的对象之间相同属性的值的复制
在进行实体转换操作的时候如果需要在对两个实体之间两个属性字段差不多相同的类要进行一个互相的转换,我们要把a对象的所有字段的值都复制给b对象,我们只能用b.属性=a.属性来写,如果属性字段太多的话,就要 ...
- Eureka入门案例
1.整体思路 1.1.服务注册中心Eureka(可以是一个集群,对外暴露自己的地址) 1.2.服务提供者:启动后向Eureka注册自己的信息(地址,提供什么服务) 1.3.客户端消费者:向Eureka ...
- bpmn-js起步
https://blog.csdn.net/u013253924/article/details/85784002 通过本文逐步熟悉bpmn-js. 快速介绍: bpmn.js是一个BPMN2.0渲染 ...
- Linux运维小知识
自己日常用到的命令稍微备份一下: 版本确认 CentOS / RedHat Enterprise cat /etc/redhat-release Ubuntu cat /etc/lsb-release ...
- 关于Oracle字符集在dmp文件导入导出中的乱码影响
Oracle 在进行dmp备份和还原的时候,服务器端字符集和客户端字符集会对这个过程有较大影响,特别是数据表中存储了中文.存储过程中使用了中文编码(注释)的时候,如果没有处理好字符集的问题,在进行还原 ...
- 360或者金山毒霸可能会导致HP网络打印机驱动安装失败“数据无效”的解决办法
360或者金山毒霸可能会导致HP网络打印机驱动安装失败“数据无效”的解决办法 同事办公室的打印机是网线接口的那种网络打印机,不是直接连到电脑的那种,他电脑安装了360和金山毒霸,WIN10下安 ...
- outlook 2013撤消已经发送的邮件
使用Outlook 2013发送邮件的时候,发送后,发现邮件写错了或者其它原因需要撤消发送邮件,这里介绍一下. 工具/原料 outlook 2013 方法/步骤 需要打开已经发送的邮件 点 ...
- [转][C#]服务安装卸载命令
c:\windows\microsoft.net\Framework\v2.0.50727\installutil.exe [/u] X:\服务.exe
- Windows 上安装 MySQL(8.0.11)
1.接下来我们需要配置下 MySQL 的配置文件 打开刚刚解压的文件夹 C:\web\mysql-8.0.11 ,在该文件夹下创建 my.ini 配置文件,编辑 my.ini 配置以下基本信息: [m ...