• 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=utf8
    
    7、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=utf8
    
    8、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=utf8
    
    9、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=utf8
    
    11、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语句,同步数据库,
    下一步会写一个关于数据库表结构同步的脚本。
  • 相关阅读:
    9 Fizz Buzz 问题
    2 尾部的零
    1 A+B问题
    递归
    互斥同步
    垃圾收集器与内存分配策略---垃圾收集算法
    10.矩形覆盖
    9.变态跳台阶
    8.跳台阶
    9.path Sum III(路径和 III)
  • 原文地址:https://www.cnblogs.com/liuweiqiang/p/4106891.html
Copyright © 2020-2023  润新知