MySQL Study之--MySQL schema_information数据库

时间:2023-02-17 13:06:07

MySQL Study之--MySQL schema_information数据库

      information_schema数据库是在mysql的版本号5.0之后产生的,一个虚拟数据库,物理上并不存在。

      information_schema数据库类似与“数据字典”,提供了訪问数据库元数据的方式,即数据的数据。比方数据库名或表名。列类型。訪问权限(更加细化的訪问方式)。

案例:

mysql> show databases;

+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| prod |
| test |
+--------------------+
5 rows in set (0.00 sec)

訪问information_schema:

mysql> use information_schema;


Database changed

mysql> show tables;

+---------------------------------------+
| Tables_in_information_schema |
+---------------------------------------+
| CHARACTER_SETS |
| COLLATIONS |
| COLLATION_CHARACTER_SET_APPLICABILITY |
| COLUMNS |
| COLUMN_PRIVILEGES |
| ENGINES |
| EVENTS |
| FILES |
| GLOBAL_STATUS |
| GLOBAL_VARIABLES |
| KEY_COLUMN_USAGE |
| OPTIMIZER_TRACE |
| PARAMETERS |
| PARTITIONS |
| PLUGINS |
| PROCESSLIST |
| PROFILING |
| REFERENTIAL_CONSTRAINTS |
| ROUTINES |
| SCHEMATA |
| SCHEMA_PRIVILEGES |
| SESSION_STATUS |
| SESSION_VARIABLES |
| STATISTICS |
| TABLES |
| TABLESPACES |
| TABLE_CONSTRAINTS |
| TABLE_PRIVILEGES |
| TRIGGERS |
| USER_PRIVILEGES |
| VIEWS |
| INNODB_LOCKS |
| INNODB_TRX |
| INNODB_SYS_DATAFILES |
| INNODB_LOCK_WAITS |
| INNODB_SYS_TABLESTATS |
| INNODB_CMP |
| INNODB_METRICS |
| INNODB_CMP_RESET |
| INNODB_CMP_PER_INDEX |
| INNODB_CMPMEM_RESET |
| INNODB_FT_DELETED |
| INNODB_BUFFER_PAGE_LRU |
| INNODB_SYS_FOREIGN |
| INNODB_SYS_COLUMNS |
| INNODB_SYS_INDEXES |
| INNODB_FT_DEFAULT_STOPWORD |
| INNODB_SYS_FIELDS |
| INNODB_CMP_PER_INDEX_RESET |
| INNODB_BUFFER_PAGE |
| INNODB_CMPMEM |
| INNODB_FT_INDEX_TABLE |
| INNODB_FT_BEING_DELETED |
| INNODB_SYS_TABLESPACES |
| INNODB_FT_INDEX_CACHE |
| INNODB_SYS_FOREIGN_COLS |
| INNODB_SYS_TABLES |
| INNODB_BUFFER_POOL_STATS |
| INNODB_FT_CONFIG |
+---------------------------------------+
59 rows in set (0.00 sec)

mysql> desc SCHEMATA;

+----------------------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------------------+--------------+------+-----+---------+-------+
| CATALOG_NAME | varchar(512) | NO | | | |
| SCHEMA_NAME | varchar(64) | NO | | | |
| DEFAULT_CHARACTER_SET_NAME | varchar(32) | NO | | | |
| DEFAULT_COLLATION_NAME | varchar(32) | NO | | | |
| SQL_PATH | varchar(512) | YES | | NULL | |
+----------------------------+--------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

mysql> select SCHEMA_NAME,DEFAULT_CHARACTER_SET_NAME  from SCHEMATA;

+--------------------+----------------------------+
| SCHEMA_NAME | DEFAULT_CHARACTER_SET_NAME |
+--------------------+----------------------------+
| information_schema | utf8 |
| mysql | latin1 |
| performance_schema | utf8 |
| prod | latin1 |
| test | latin1 |
+--------------------+----------------------------+
5 rows in set (0.00 sec)

mysql> desc tables;

+-----------------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+---------------------+------+-----+---------+-------+
| TABLE_CATALOG | varchar(512) | NO | | | |
| TABLE_SCHEMA | varchar(64) | NO | | | |
| TABLE_NAME | varchar(64) | NO | | | |
| TABLE_TYPE | varchar(64) | NO | | | |
| ENGINE | varchar(64) | YES | | NULL | |
| VERSION | bigint(21) unsigned | YES | | NULL | |
| ROW_FORMAT | varchar(10) | YES | | NULL | |
| TABLE_ROWS | bigint(21) unsigned | YES | | NULL | |
| AVG_ROW_LENGTH | bigint(21) unsigned | YES | | NULL | |
| DATA_LENGTH | bigint(21) unsigned | YES | | NULL | |
| MAX_DATA_LENGTH | bigint(21) unsigned | YES | | NULL | |
| INDEX_LENGTH | bigint(21) unsigned | YES | | NULL | |
| DATA_FREE | bigint(21) unsigned | YES | | NULL | |
| AUTO_INCREMENT | bigint(21) unsigned | YES | | NULL | |
| CREATE_TIME | datetime | YES | | NULL | |
| UPDATE_TIME | datetime | YES | | NULL | |
| CHECK_TIME | datetime | YES | | NULL | |
| TABLE_COLLATION | varchar(32) | YES | | NULL | |
| CHECKSUM | bigint(21) unsigned | YES | | NULL | |
| CREATE_OPTIONS | varchar(255) | YES | | NULL | |
| TABLE_COMMENT | varchar(2048) | NO | | | |
+-----------------+---------------------+------+-----+---------+-------+
21 rows in set (0.00 sec)

mysql> select table_schema,table_name,table_type,engine,table_rows from tables where table_schema='prod';

+--------------+------------+------------+--------+------------+
| table_schema | table_name | table_type | engine | table_rows |
+--------------+------------+------------+--------+------------+
| prod | t1 | BASE TABLE | InnoDB | 2 |
| prod | t2 | BASE TABLE | InnoDB | 2 |
+--------------+------------+------------+--------+------------+
2 rows in set (0.00 sec)

mysql> select * from prod.t1;

+------+-------+
| id | name |
+------+-------+
| 10 | tom |
| 20 | jerry |
| 30 | rose |
| 40 | ellen |
+------+-------+
4 rows in set (0.00 sec)

mysql> explain select * from prod.t1;

+----+-------------+-------+------+---------------+------+---------+------+------+-------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------+------+---------------+------+---------+------+------+-------+
| 1 | SIMPLE | t1 | ALL | NULL | NULL | NULL | NULL | 2 | NULL |
+----+-------------+-------+------+---------------+------+---------+------+------+-------+
1 row in set (0.00 sec)

当中重要的表有:

SCHEMATA表:

SCHEMATA表提供了当前mysql实例中全部数据库的信息。

是show databases的结果取之此表。

TABLES表:

TABLES表提供了关于数据库中的表的信息(包含视图)。

具体表述了某个表属于哪个schema,表类型,表引擎。创建时间,等等信息。是show tables from schemaname的结果取之此表。

COLUMNS表:

COLUMNS表提供了表中的列信息。具体表述了某张表的全部列以及每一个列的信息。是show columns from schemaname.tablename的结果取之此表。

STATISTICS表:

STATISTICS表提供了关于表索引的信息。是show index from schemaname.tablename的结果取之此表。

USER_PRIVILEGES表:

USER_PRIVILEGES(用户权限)表给出了关于全程权限的信息。该信息源自mysql.user授权表。

是非标准表。

SCHEMA_PRIVILEGES表:

SCHEMA_PRIVILEGES(方案权限)表给出了关于方案(数据库)权限的信息。

该信息来自mysql.db授权表。是非标准表。

TABLE_PRIVILEGES表:

TABLE_PRIVILEGES(表权限)表给出了关于表权限的信息。

该信息源自mysql.tables_priv授权表。

是非标准表。

COLUMN_PRIVILEGES表;

COLUMN_PRIVILEGES(列权限)表给出了关于列权限的信息。该信息源自mysql.columns_priv授权表。是非标准表。

CHARACTER_SETS表:

CHARACTER_SETS(字符集)表提供了mysql实例可用字符集的信息。是SHOW CHARACTER SET结果集取之此表。

COLLATIONS表。

COLLATIONS表提供了关于各字符集的对比信息。

COLLATION_CHARACTER_SET_APPLICABILITY表:

COLLATION_CHARACTER_SET_APPLICABILITY表指明了可用于校对的字符集。

这些列等效于SHOW COLLATION的前两个显示字段。

TABLE_CONSTRAINTS表。

TABLE_CONSTRAINTS表描写叙述了存在约束的表。以及表的约束类型。

KEY_COLUMN_USAGE表:

KEY_COLUMN_USAGE表描写叙述了具有约束的键列。

ROUTINES表:

ROUTINES表提供了关于存储子程序(存储程序和函数)的信息。此时,ROUTINES表不包括自己定义函数(UDF)。

名为“mysql.proc name”的列指明了相应于INFORMATION_SCHEMA.ROUTINES表的mysql.proc表列。

VIEWS表:

VIEWS表给出了关于数据库中的视图的信息。须要有show views权限。否则无法查看视图信息。

TRIGGERS表;

TRIGGERS表提供了关于触发程序的信息。

必须有super权限才干查看该表。

另外,在未来的版本号中会有新的表加入。

【注】information_schema是一个由数据库的元数据组成的数据库。里面存储的是mysql的数据库基本信息。并随时改变。用于查看信息以及系统决策时作为重要的信息提供者。

MySQL Study之--MySQL schema_information数据库的更多相关文章

  1. MySQL Study之--MySQL普通用户无法本地登陆

    MySQL Study之--MySQL普通用户无法本地登陆       在安装完毕MySQL后,我们通常加入拥有对应权限的普通用户用来訪问数据库.在使用用户本地登录数据库的时候,常常会出现怎么登录也无 ...

  2. MySQL Study之--MySQL下图形工具的使用(MySQL Administrator)

    MySQL Study之--MySQL下图形工具的使用(MySQL Administrator) 系统环境:     操作系统: Windows  7(64) 下载地址:http://www.soft ...

  3. MySQL Study之--MySQL用户及权限管理

    MySQL Study之--MySQL用户及权限管理     MySQLserver通过MySQL权限表来控制用户对数据库的訪问.MySQL权限表存放在mysql数据库里.由mysql_install ...

  4. MySQL Study之--Mysql无法启动“mysql.host”

    MySQL Study之--Mysql无法启动"mysql.host" 系统环境: 操作系统:RedHat EL55 DB Soft:  Mysql 5.6.4-m7 通过源代码包 ...

  5. MySQL Study之--MySQL压力測试工具mysqlslap

    MySQL Study之--MySQL压力測试工具mysqlslap 一.Mysqlslap介绍     mysqlslap是MySQL5.1之后自带的benchmark基准測试工具,类似Apache ...

  6. MySQL Study之--MySQL体系结构深入解析

    MySQL Study之--MySQL体系结构深入解析 MySQL体系架构 由连接池组件.管理服务和⼯工具组件.sql接口组件.查询分析器组件.优化器组件.缓冲组件.插件式存储引擎.物理⽂文件组成.m ...

  7. MySQL Study之--Percona Server版本号

    MySQL Study之--Percona Server版本号 1.简单介绍      Percona 为 MySQL 数据库server进行了改进.在功能和性能上较 MySQL 有着非常显著的提升. ...

  8. MySQl Study学习之--MySQl二进制日志管理

    MySQl Study学习之--MySQl二进制日志管理 MySQL二进制日志(Binary Log)   a.它包括的内容及作用例如以下:     包括了全部更新了数据或者已经潜在更新了数据(比方没 ...

  9. MySQL、MongoDB、Redis数据库Docker镜像制作

    MySQL.MongoDB.Redis数据库Docker镜像制作 在多台主机上进行数据库部署时,如果使用传统的MySQL的交互式的安装方式将会重复很多遍.如果做成镜像,那么我们只需要make once ...

随机推荐

  1. Java NIO 系列教程

    http://www.iteye.com/magazines/132-Java-NIO

  2. centos配置vpn服务器

    1.配置epel软件源wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm2.安装PPTP服务端软件yu ...

  3. OpenVPN中的几个和连接相关的Timer解析

    在OpenVPN中存在几个计时器,这些计时器限制着OpenVPN的一些特定行为的最长持续时间,如果设置不好,就会带来莫名其妙的断线问题,然而如何设置这些计数器也没有一个通用的方案,特定情况下不能太大也 ...

  4. 聊聊 Statsd 和 Collectd 那点事!

    StatsD 是由 Etsy 开发并发布的汇总和总结应用指标的一个简单的守护进程,近些年来发展迅速,已经变成了一个用于收集应用性能指标的统一的协议. 关于 Statsd 的使用已经有很多文章介绍过,所 ...

  5. laravel观察者模式

    laravel观察者模式: 事件

  6. DAY TRADER

    日内交易是一种交易模式,英文名字是daytrade,主要是指持仓时间短,不留过夜持仓的交易方式.日内交易捕捉入市后能够马上脱离入市成本的交易机会,入市之后如果不能马上获利,就准备迅速离场.因为这种交易 ...

  7. 线段树+RMQ问题第二弹

    线段树+RMQ问题第二弹 上篇文章讲到了基于Sparse Table 解决 RMQ 问题,不知道大家还有没有印象,今天我们会从线段树的方法对 RMQ 问题再一次讨论. 正式介绍今天解决 RMQ 问题的 ...

  8. Nexus私服搭建

    maven私服的搭建 --> maven -->{ 1,本地仓库(从*仓库下载保存到本地的或者自己到网上下载的jar文件包) 2,远程仓库 -->{ 1,*仓库(maven官方j ...

  9. BZOJ 2810 [Apio2012]kunai

    Orz Starria 现在看来,也不是很难,能做...就是不能写 可以想到维护每个苦无扫过的矩形,然后做矩形面积并即可. 然后发现自己只会$n^2$的处理方法... 想了好久之后问了一发 Starr ...

  10. 51nod 1055 最长等差数列

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1055 题意: 思路:先固定一个位置,然后从该中心点出发向两边扫,确实很难 ...