MySQL--INFORMATION_SCHEMA COLUMNS表
在程序中,若想要动态地得到某一个表的具体信息,就使用到了MySQL 中的 INFORMATION_SCHEMA 信息数据库,而它又包含很多表,见下:
INFORMATION_SCHEMA SCHEMATA表INFORMATION_SCHEMA TABLES表INFORMATION_SCHEMA COLUMNS表INFORMATION_SCHEMA STATISTICS表INFORMATION_SCHEMA USER_PRIVILEGES表INFORMATION_SCHEMA SCHEMA_PRIVILEGES表INFORMATION_SCHEMA TABLE_PRIVILEGES表INFORMATION_SCHEMA COLUMN_PRIVILEGES表INFORMATION_SCHEMA CHARACTER_SETS表INFORMATION_SCHEMA COLLATIONS表INFORMATION_SCHEMA COLLATION_CHARACTER_SET_APPLICABILITY表INFORMATION_SCHEMA TABLE_CONSTRAINTS表INFORMATION_SCHEMA KEY_COLUMN_USAGE表INFORMATION_SCHEMA ROUTINES表INFORMATION_SCHEMA VIEWS表INFORMATION_SCHEMA TRIGGERS表 |
其中的 COLUMNS 表给出了某一个表中的具体的列信息:我们在 'test' 库中建立 'documents' 表,语句如下:
CREATE TABLE `documents` ( `id` int(11) NOT NULL auto_increment, `group_id` int(11) NOT NULL, `group_id2` int(11) NOT NULL, `date_added` datetime NOT NULL, `title` varchar(255) NOT NULL, `content` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=gbk |
字段以及索引信息为:
/*字段信息 - test.documents*/-----------------------------Field Type Collation Null Key Default Extra Privileges Comment---------- ------------ -------------- ------ ------ ------- -------------- ------------------------------- -------id int(11) (NULL) NO PRI (NULL) auto_increment select,insert,update,references group_id int(11) (NULL) NO select,insert,update,references group_id2 int(11) (NULL) NO select,insert,update,references date_added datetime (NULL) NO select,insert,update,references title varchar(255) gbk_chinese_ci NO select,insert,update,references content text gbk_chinese_ci NO select,insert,update,references /*索引信息 - test.documents*/-----------------------------Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment--------- ---------- -------- ------------ ----------- --------- ----------- -------- ------ ------ ---------- -------documents 0 PRIMARY 1 id A 4 (NULL) (NULL) BTREE |
|
好啦!建表结束!先来了解一下 INFORMATION_SCHEMA COLUMNS 表:

下面我们开始了解它!键入 SQL 语句:
SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'documents' |
结果如下,可以对照我们刚开始的建表语句以及字段信息:

当然,还可以参照如下格式的 SQL 语句来查看其他字段的查询信息:
SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'tbl_name' [AND table_schema = 'db_name'] [AND column_name LIKE 'wild'] |
接下来看看 SHOW 语句和它的异同:键入 SQL 语句:
SHOW COLUMNS FROM `documents` |
结果如下:

SHOW 语句的基本格式为:
SHOW COLUMNS FROM tbl_name [FROM db_name] [LIKE wild] |
更多详细的内容,请参看 MySQL 手册。
SELECT COLUMN_NAME AS '字段名',COLUMN_COMMENT AS '字段注释',DATA_TYPE AS '字段类型' FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA='database_name' AND TABLE_NAME='table_name' AND COLUMN_COMMENT !='' AND COLUMN_COMMENT != '未使用'
这样就解决了大量字段值的查询问题。
MySQL--INFORMATION_SCHEMA COLUMNS表的更多相关文章
- information_schema.columns 学习
每一个表中的每一列都会在information_schema.columns表中对应一行 1.informaiton_schema.columns 常用列: 1.table_catalog :不管是t ...
- MySQL中的information_schema数据库表说明
MySQL 中的 information_schema 数据库 版权声明:https://blog.csdn.net/kikajack/article/details/80065753 1. 概述 ...
- 使用INFORMATION_SCHEMA.Columns查询数据表结构
使用情形1:写数据字典(Word文档)时, 需要获取表结构,以加快书写速度,当然,前提是没有文档导出工具. 使用情形2:生成实体时, 前提也是没有代码生成工具. 脚本 SELECT A.COLUMN_ ...
- MySQL源码 information_schema新增表
information_schema是MySQL下的DB, 存储了数据库的数据字典,但OS系统上,并没有information_schema下表的数据和结构文件. 所以,MySQL在针对informa ...
- mysql中information_schema.columns字段说明
1. 获取所有列信息(COLUMNS) SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='数据库名'; COLUMNS表 ...
- [MySQL] INFORMATION_SCHEMA 数据库包含所有表的字段
sql注入后可以通过该数据库获取所有表的字段信息 1. COLLATIONS表 提供有关每个字符集的排序规则的信息. COLLATIONS表包含以下列: COLLATION_NAME 排序规则名称. ...
- MySQL 对比数据库表结构
200 ? "200px" : this.width)!important;} --> 介绍 本章主要介绍怎样对比数据库的表结构的差异,这里主要介绍使用mysqldiff工具 ...
- sql:MySQL 6.7 表,视图,存储过程结构查询
#数据库MySQL 6.7 use sakila; #查询表名 show tables; # SELECT TABLE_NAME,TABLE_ROWS FROM INFORMATION_SCHEMA. ...
- MySQL快速生产表的描述
# mysql快速生成表的描述 SELECT column_name AS `列名`, CONCAT_WS(' (', data_type, character_maximum_length) AS ...
随机推荐
- 使用paramiko进行打包操作
使用paramiko执行ssh命令的时候有一个很坑爹的地方:它无法准确的识别你的系统环境变量,所以使用一些命令的时候会发现,直接在系统中执行该命令的时候可以,但是换成paramiko执行的时候会报错说 ...
- 转载Repository 和Unit of work的使用说明
利用Repository and Unit of Work重构项目 文章索引和简介 项目最基础的东西已经结束了,但是现在我们的项目还不健全 不利于测试 重复性代码多 层与层之间耦合性高 不利于 ...
- UVa 11971 Polygon (数学,转化)
题意:一根长度为n的木条,随机选k个位置将其切成k+1段,问这k+1段能组成k+1条边的多边形的概率. 析:这个题,很明显和 n 是没有任何关系的,因为无论 n 是多少那切多少段都可以,只与切多少段有 ...
- Unity3D之Mecanim动画系统学习笔记(六):使用脚本控制动画
控制人物动画播放 这里我重新弄了一个简单的场景和新的Animator Controller来作为示例. 下面先看看Animator Controller的配置: 人物在站立状态只能进入走路,走路只能进 ...
- 根据powerdesigner的OO模型生成C#代码
2007-05-15 08:34:11| 分类: 转贴部分 | 标签:学习帖子 |字号 订阅 习惯了用Powerdesigner设计数据库模型,XDE设计类图.因此我一般的设计方法是用PD做分析模 ...
- BZOJ 1024: [SCOI2009]生日快乐 dfs
1024: [SCOI2009]生日快乐 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/p ...
- delphi 13 打印相关
打印 页面设置 打印预览 文档属性 //---------------------------------------------------------------------------- ...
- struts2源代码学习之初始化(一)
看struts2源代码已有一段时日,从今天開始,就做一个总结吧. 首先,先看看怎么调试struts2源代码吧,主要是下面步骤: 使用Myeclipse创建一个webproject 导入struts2须 ...
- HDU 1498 50 years, 50 colors (行列匹配+最小顶点覆盖)
题目:点击打开链接 题意:每个格子有不同颜色的气球用不同数字表示,每次可选某一行 或某一列来戳气球.每个人有K次机会.求最后哪些气球不能在 k次机会内 ...
- 解析“extern”
解析“extern” 1. 声明外部变量 现代编译器一般採用按文件编译的方式,因此在编译时,各个文件里定义的全局变量是 互相透明的,也就是说,在编译时,全局变量的可见域限制在文件内部.以下举一个简单的 ...