標籤:des style blog io ar color os sp for
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 資料庫簡介: