博客
关于我
mysql-----information_schema
阅读量:211 次
发布时间:2019-02-28

本文共 2268 字,大约阅读时间需要 7 分钟。

MySQL的INFORMATION_SCHEMA数据库是一个重要的元数据资源,它提供了关于MySQL服务器中数据库、表、列等元数据的详细信息。以下将从多个维度对INFORMATION_SCHEMA的相关表进行说明。

1. 数据库元数据概述

INFORMATION_SCHEMA数据库自MySQL 5.0版本起引入,旨在统一地存储和管理数据库的元数据信息。通过查询INFORMATION_SCHEMA中的相关表,可以轻松获取以下信息:

  • 数据库的结构和属性
  • 数据库中表的定义和特性
  • 表中字段的数据类型和约束
  • 数据库及表的访问权限策略
  • 存储程序、触发器等组件的信息

2. 关键表的功能说明

INFORMATION_SCHEMA包含多个重要表,每个表专注于不同层面的元数据信息。以下是几个常见表的说明:

2.1 SCHEMATA表

SCHEMATA表提供了数据库的高层次信息,包括:

  • 数据库名称
  • 数据库的版本信息
  • 数据库的字符集设置
  • 数据库的存储引擎类型
  • 数据库的Collation(排序规则)

2.2 TABLES表

TABLES表是INFORMATION_SCHEMA中最核心的表之一,主要信息包括:

  • 表的名称
  • 表所属的数据库名称
  • 表的类型(例如普通表、视图、临时表等)
  • 表的大小信息(例如行数、存储空间)
  • 表的创建时间和修改时间

2.3 COLUMNS表

COLLATIONS表提供了关于字符集的信息,具体包括:

  • 字符集名称
  • 字符集的字符编码方式
  • 字符集的Collation(排序规则)
  • 字符集的适用性描述

2.4 STATISTICS表

STATISTICS表描述了表的索引信息,包括:

  • 索引的名称
  • 索引的列名称
  • 索引的类型(例如普通索引、唯一索引、主键索引)
  • 索引的长度
  • 索引的存储空间
  • 索引的使用频率统计

2.5 USER_PRIVILEGES表

USER_PRIVILEGES表提供了关于用户权限的信息,包括:

  • 用户的ID
  • 用户的账户名
  • 用户被授予的权限项
  • 权限的生效时间
  • 权限的失效时间

2.6 SCHEMA_PRIVILEGES表

SCHEMA_PRIVILEGES表描述了数据库级别的权限信息,包括:

  • 数据库的名称
  • 用户的ID
  • 用户被授予的数据库级别权限
  • 权限的生效时间
  • 权限的失效时间

2.7 TABLE_PRIVILEGES表

TABLE_PRIVILEGES表提供了表级别的权限信息,包括:

  • 表的名称
  • 用户的ID
  • 用户被授予的表级别权限
  • 权限的生效时间
  • 权限的失效时间

2.8 COLUMN_PRIVILEGES表

COLUMN_PRIVILEGES表描述了列级别的权限信息,包括:

  • 列的名称
  • 用户的ID
  • 用户被授予的列级别权限
  • 权限的生效时间
  • 权限的失效时间

2.9 CHARACTER_SETS表

CHARACTER_SETS表提供了可用的字符集信息,包括:

  • 字符集的名称
  • 字符集的字符编码方式
  • 字符集的Collation(排序规则)
  • 字符集的默认名称

2.10 COLLATIONS表

COLLATIONS表提供了关于Collation(排序规则)的详细信息,包括:

  • Collation的名称
  • Collation的字符集名称
  • Collation的排序规则
  • Collation的存储空间
  • Collation的比较结果

2.11 TABLE_CONSTRAINTS表

TABLE_CONSTRAINTS表描述了存在约束的表,包括:

  • 表的名称
  • 约束的类型(例如主键约束、外键约束、唯一约束等)
  • 约束的列名称
  • 约束的定义
  • 约束的创建时间

2.12 KEY_COLUMN_USAGE表

KEY_COLUMN_USAGE表描述了具有外键约束的键列,包括:

  • 外键约束的表名称
  • 外键约束的列名称
  • 主键表的名称
  • 主键表的主键列名称
  • 外键约束的定义

2.13 ROUTINES表

ROUTINES表提供了关于存储程序(存储程序和函数)的信息,包括:

  • 存储程序或函数的名称
  • 存储程序或函数的库名
  • 存储程序或函数的类型(例如函数、存储程序)
  • 存储程序或函数的参数定义
  • 存储程序或函数的返回类型

2.14 VIEWS表

VIEWS表提供了关于数据库视图的信息,包括:

  • 视图的名称
  • 视图所属的数据库名称
  • 视图的视图定义
  • 视图的创建时间
  • 视图的修改时间

2.15 TRIGGERS表

TRIGGERS表描述了触发程序的信息,包括:

  • 触发器的名称
  • 触发器的事件类型(例如插入、更新、删除)
  • 触发器的表名称
  • 触发器的触发条件
  • 触发器的执行语句

3. 权限管理

INFORMATION_SCHEMA数据库还提供了丰富的权限相关信息,包括:

  • 数据库级别权限:通过SCHEMA_PRIVILEGES表获取数据库级别的权限信息
  • 表级别权限:通过TABLE_PRIVILEGES表获取表级别的权限信息
  • 列级别权限:通过COLUMN_PRIVILEGES表获取列级别的权限信息
  • 用户级别权限:通过USER_PRIVILEGES表获取用户级别的权限信息

4. 应用场景

INFORMATION_SCHEMA数据库广泛应用于以下场景:

  • 数据库迁移:了解目标数据库的结构和约束
  • 性能优化:分析表的大小和索引情况
  • 安全管理:审查用户和权限配置
  • 数据库维护:了解数据库的创建时间和修改时间
  • 视图和触发器管理:查看现有视图和触发器的定义

通过合理利用INFORMATION_SCHEMA数据库的信息,开发人员可以更高效地管理MySQL服务器,确保数据库的稳定性和安全性。

转载地址:http://tpms.baihongyu.com/

你可能感兴趣的文章
Nodejs异步回调的处理方法总结
查看>>
NodeJS报错 Fatal error: ENOSPC: System limit for number of file watchers reached, watch ‘...path...‘
查看>>
Nodejs教程09:实现一个带接口请求的简单服务器
查看>>
nodejs服务端实现post请求
查看>>
nodejs框架,原理,组件,核心,跟npm和vue的关系
查看>>
Nodejs概览: 思维导图、核心技术、应用场景
查看>>
nodejs模块——fs模块
查看>>
Nodejs模块、自定义模块、CommonJs的概念和使用
查看>>
nodejs生成多层目录和生成文件的通用方法
查看>>
nodejs端口被占用原因及解决方案
查看>>
Nodejs简介以及Windows上安装Nodejs
查看>>
nodejs系列之express
查看>>
nodejs系列之Koa2
查看>>
Nodejs连接mysql
查看>>
nodejs连接mysql
查看>>
NodeJs连接Oracle数据库
查看>>
nodejs配置express服务器,运行自动打开浏览器
查看>>
NodeMCU教程 http请求获取Json中文乱码解决方案
查看>>
Nodemon 深入解析与使用
查看>>
NodeSession:高效且灵活的Node.js会话管理工具
查看>>