information_schema数据库是在mysql的版本5.0之后产生的一个虚拟数据库,物理上并不存在;information_schema数据库类似与“数据字典”,提供了访问数据库元数据的方式,即数据的数据。比如数据库名或表名,列类型,访问权限等。
其中重要的表有:
SCHEMATA表
---SCHEMATA表提供了当前mysql实例中所有数据库的信息。是show databases的结果取之此表。
TABLES表
---TABLES表提供了关于数据库中的表的信息(包括视图)。详细表述了某个表属于哪个schema,表类型,表引擎,创建时间,等等信息。是show tables from schemaname的结果取之此表。
COLUMNS表
---COLUMNS表提供了表中的列信息。详细表述了某张表的所有列以及每个列的信息。
例如:【注意:as关键字是取别名,它是可选的,没有亦可】
select column_namename,data_type type,COLUMN_TYPE,column_comment as info,extra as auto,CHARACTER_MAXIMUM_LENGTH as lenfrom INFORMATION_SCHEMA.COLUMNS Wheretable_name ='admins' and table_schema ='zy_vote'
这条语句表示:在INFORMATION_SCHEMA数据库的COLUMNS表中,查询zy_vote数据库的admins表的每一列的 列名,列数据类型,最大长度、列说明等。