mysql columns表_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 表:

7785a324eb8079ef7c2571add440f39d.png

下面我们开始了解它!键入 SQL 语句:

SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT

FROM INFORMATION_SCHEMA.COLUMNS

WHERE table_name = 'documents'

结果如下,可以对照我们刚开始的建表语句以及字段信息:

05433ee35f2421205af963c5f8c6f9d0.png

当然,还可以参照如下格式的 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`

结果如下:

eb5314a3b1dfcd4e594e532b54fb7c94.png

SHOW 语句的基本格式为:

SHOW COLUMNS

FROM tbl_name

[FROM db_name]

[LIKE wild]

更多详细的内容,请参看 MySQL 手册。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值