首页 > 代码库 > mysql information_schema 数据库简介:

mysql information_schema 数据库简介:

1、CHARACTER_SETS 表CREATE TEMPORARY TABLE `CHARACTER_SETS` (  `CHARACTER_SET_NAME` varchar(32) NOT NULL DEFAULT ‘‘,  字符集的名字,例如set names utf8;  `DEFAULT_COLLATE_NAME` varchar(32) NOT NULL DEFAULT ‘‘, 字符集的全称  `DESCRIPTION` varchar(60) NOT NULL DEFAULT ‘‘,  字段的描述  `MAXLEN` bigint(3) NOT NULL DEFAULT 0    字符集的长度,例如utf8是3个字节) ENGINE=MEMORY DEFAULT CHARSET=utf8里边存贮的是mysql支持的字符集。2、COLUMNS表,储存了所有的列信息CREATE TEMPORARY TABLE `COLUMNS` (  `TABLE_CATALOG` varchar(512) NOT NULL DEFAULT ‘‘,  `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT ‘‘,   数据库名字  `TABLE_NAME` varchar(64) NOT NULL DEFAULT ‘‘,        表名  `COLUMN_NAME` varchar(64) NOT NULL DEFAULT ‘‘,    列名  `ORDINAL_POSITION` bigint(21) unsigned NOT NULL DEFAULT 0,  `COLUMN_DEFAULT` longtext,  `IS_NULLABLE` varchar(3) NOT NULL DEFAULT ‘‘,        是否是null  `DATA_TYPE` varchar(64) NOT NULL DEFAULT ‘‘,        字段数据类型  `CHARACTER_MAXIMUM_LENGTH` bigint(21) unsigned DEFAULT NULL,  `CHARACTER_OCTET_LENGTH` bigint(21) unsigned DEFAULT NULL,  `NUMERIC_PRECISION` bigint(21) unsigned DEFAULT NULL,  `NUMERIC_SCALE` bigint(21) unsigned DEFAULT NULL,  `DATETIME_PRECISION` bigint(21) unsigned DEFAULT NULL,  `CHARACTER_SET_NAME` varchar(32) DEFAULT NULL, 字段的编码  `COLLATION_NAME` varchar(32) DEFAULT NULL, 编码的全称  `COLUMN_TYPE` longtext NOT NULL,                 字段具体类型  `COLUMN_KEY` varchar(3) NOT NULL DEFAULT ‘‘,  `EXTRA` varchar(30) NOT NULL DEFAULT ‘‘,  `PRIVILEGES` varchar(80) NOT NULL DEFAULT ‘‘,    可以对该字段进行的操作,例如select,insert,update  `COLUMN_COMMENT` varchar(1024) NOT NULL DEFAULT ‘‘    字段你的备注) ENGINE=MyISAM DEFAULT CHARSET=utf8记录了各个表里边所有字段的相关信息3、ENGINES,数据库引擎表CREATE TEMPORARY TABLE `ENGINES` (  `ENGINE` varchar(64) NOT NULL DEFAULT ‘‘,    数据库引擎名称  `SUPPORT` varchar(8) NOT NULL DEFAULT ‘‘,        是否支持  `COMMENT` varchar(80) NOT NULL DEFAULT ‘‘,    注释  `TRANSACTIONS` varchar(3) DEFAULT NULL,        是否支持事物  `XA` varchar(3) DEFAULT NULL,                    是否支持XA分布式事物  `SAVEPOINTS` varchar(3) DEFAULT NULL            ) ENGINE=MEMORY DEFAULT CHARSET=utf8存贮了数据对引擎的支持情况4、GLOBAL_STATUS表,存储一些全局状态,是show status结果的来源。(相对于session级别的)CREATE TEMPORARY TABLE `GLOBAL_STATUS` (  `VARIABLE_NAME` varchar(64) NOT NULL DEFAULT ‘‘, 变量名称  `VARIABLE_VALUE` varchar(2048) DEFAULT NULL        变量值) ENGINE=MEMORY DEFAULT CHARSET=utf8可以查询数据库相关的一些状态。5、GLOBAL_VARIABLES表,全局变量名称表(相对于session级别的)CREATE TEMPORARY TABLE `GLOBAL_VARIABLES` (  `VARIABLE_NAME` varchar(64) NOT NULL DEFAULT ‘‘, 变量名称  `VARIABLE_VALUE` varchar(2048) DEFAULT NULL        变量值) ENGINE=MEMORY DEFAULT CHARSET=utf8存储了数据库的变量,mysql客户端的set global variabe,就是操作的此表6、PROCESSLIST表,当前进程表,show processlist数据来源CREATE TEMPORARY TABLE `PROCESSLIST` (  `ID` bigint(21) unsigned NOT NULL DEFAULT 0,  `USER` varchar(16) NOT NULL DEFAULT ‘‘,   连接的用户名  `HOST` varchar(64) NOT NULL DEFAULT ‘‘,   主机地址和端口  `DB` varchar(64) DEFAULT NULL,            连接的数据库  `COMMAND` varchar(16) NOT NULL DEFAULT ‘‘,    执行的命令  `TIME` int(7) NOT NULL DEFAULT 0,    耗时  `STATE` varchar(64) DEFAULT NULL,        状态  `INFO` longtext,                        信息  `TIME_MS` bigint(21) NOT NULL DEFAULT 0,  `ROWS_SENT` bigint(21) unsigned NOT NULL DEFAULT 0,  `ROWS_EXAMINED` bigint(21) unsigned NOT NULL DEFAULT 0) ENGINE=MyISAM DEFAULT CHARSET=utf87、PROFILING表,sql语句的性能profile表,例如执行了一个select语句,客户端返回的一些列信息CREATE TEMPORARY TABLE `PROFILING` (  `QUERY_ID` int(20) NOT NULL DEFAULT 0,  `SEQ` int(20) NOT NULL DEFAULT 0,  `STATE` varchar(30) NOT NULL DEFAULT ‘‘,  `DURATION` decimal(9,6) NOT NULL DEFAULT 0.000000,  `CPU_USER` decimal(9,6) DEFAULT NULL,  `CPU_SYSTEM` decimal(9,6) DEFAULT NULL,  `CONTEXT_VOLUNTARY` int(20) DEFAULT NULL,  `CONTEXT_INVOLUNTARY` int(20) DEFAULT NULL,  `BLOCK_OPS_IN` int(20) DEFAULT NULL,  `BLOCK_OPS_OUT` int(20) DEFAULT NULL,  `MESSAGES_SENT` int(20) DEFAULT NULL,  `MESSAGES_RECEIVED` int(20) DEFAULT NULL,  `PAGE_FAULTS_MAJOR` int(20) DEFAULT NULL,  `PAGE_FAULTS_MINOR` int(20) DEFAULT NULL,  `SWAPS` int(20) DEFAULT NULL,  `SOURCE_FUNCTION` varchar(30) DEFAULT NULL,  `SOURCE_FILE` varchar(20) DEFAULT NULL,  `SOURCE_LINE` int(20) DEFAULT NULL) ENGINE=MEMORY DEFAULT CHARSET=utf88、SCHEMA_PRIVILEGES数据库权限表,记录了账户对数据都有什么权限CREATE TEMPORARY TABLE `SCHEMA_PRIVILEGES` (  `GRANTEE` varchar(81) NOT NULL DEFAULT ‘‘,   用户@host  `TABLE_CATALOG` varchar(512) NOT NULL DEFAULT ‘‘,  `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT ‘‘,  数据库名称  `PRIVILEGE_TYPE` varchar(64) NOT NULL DEFAULT ‘‘,   权限,例如insert  `IS_GRANTABLE` varchar(3) NOT NULL DEFAULT ‘‘   ) ENGINE=MEMORY DEFAULT CHARSET=utf89、SESSION_STATUS,SESSION_VARIABLES,同上边GLOBAL_STATUS,GLOBAL_VARIABLES,是session级别的变量10、STATISTICS表,关于索引的统计情况。CREATE TEMPORARY TABLE `STATISTICS` (  `TABLE_CATALOG` varchar(512) NOT NULL DEFAULT ‘‘,  `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT ‘‘,    数据库  `TABLE_NAME` varchar(64) NOT NULL DEFAULT ‘‘,        表名  `NON_UNIQUE` bigint(1) NOT NULL DEFAULT 0,        是否唯一索引,0表示是,1不是  `INDEX_SCHEMA` varchar(64) NOT NULL DEFAULT ‘‘,      `INDEX_NAME` varchar(64) NOT NULL DEFAULT ‘‘,        索引名字  `SEQ_IN_INDEX` bigint(2) NOT NULL DEFAULT 0,  `COLUMN_NAME` varchar(64) NOT NULL DEFAULT ‘‘,    列名  `COLLATION` varchar(1) DEFAULT NULL,      `CARDINALITY` bigint(21) DEFAULT NULL,  `SUB_PART` bigint(3) DEFAULT NULL,  `PACKED` varchar(10) DEFAULT NULL,  `NULLABLE` varchar(3) NOT NULL DEFAULT ‘‘,  `INDEX_TYPE` varchar(16) NOT NULL DEFAULT ‘‘,    索引类型,例如BTree  `COMMENT` varchar(16) DEFAULT NULL,  `INDEX_COMMENT` varchar(1024) NOT NULL DEFAULT ‘‘) ENGINE=MEMORY DEFAULT CHARSET=utf811、TABLES表,存贮了表相关的信息。CREATE TEMPORARY TABLE `TABLES` (  `TABLE_CATALOG` varchar(512) NOT NULL DEFAULT ‘‘,  `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT ‘‘,   表所在的数据库  `TABLE_NAME` varchar(64) NOT NULL DEFAULT ‘‘,    表名  `TABLE_TYPE` varchar(64) NOT NULL DEFAULT ‘‘,  `ENGINE` varchar(64) DEFAULT NULL,          表引擎  `VERSION` bigint(21) unsigned DEFAULT NULL,  `ROW_FORMAT` varchar(20) DEFAULT NULL,  `TABLE_ROWS` bigint(21) unsigned DEFAULT NULL,  `AVG_ROW_LENGTH` bigint(21) unsigned DEFAULT NULL,  `DATA_LENGTH` bigint(21) unsigned DEFAULT NULL,  `MAX_DATA_LENGTH` bigint(21) unsigned DEFAULT NULL,  `INDEX_LENGTH` bigint(21) unsigned DEFAULT NULL,  `DATA_FREE` bigint(21) unsigned DEFAULT NULL,  `AUTO_INCREMENT` bigint(21) unsigned DEFAULT NULL,  `CREATE_TIME` datetime DEFAULT NULL,  `UPDATE_TIME` datetime DEFAULT NULL,  `CHECK_TIME` datetime DEFAULT NULL,  `TABLE_COLLATION` varchar(32) DEFAULT NULL,  `CHECKSUM` bigint(21) unsigned DEFAULT NULL,  `CREATE_OPTIONS` varchar(255) DEFAULT NULL,  `TABLE_COMMENT` varchar(2048) NOT NULL DEFAULT ‘‘) ENGINE=MEMORY DEFAULT CHARSET=utf8


可以在不同的beta环境,用户diff数据库和表的不同,进而产生sql语句,同步数据库,
下一步会写一个关于数据库表结构同步的脚本。

 

mysql information_schema 数据库简介: