MySQL information_schema:数据库元数据查询
"MySQL中的information_schema是数据库管理系统提供的一种特殊数据库,用于存储关于MySQL服务器中所有数据库的元数据。它是一个虚拟的、系统级别的数据库,不包含任何实际用户数据,但提供了查询所有数据库对象如表、视图、列、索引、用户权限等信息的途径。在MySQL中,information_schema数据库允许用户获取关于数据库架构、权限设置和统计信息等关键数据,而无需直接查询各个实际的用户数据库。" 在MySQL中,information_schema数据库包含了以下几个重要的表: 1. SCHEMATA: 这个表提供了当前MySQL实例中存在的所有模式(或数据库)的信息,包括模式名称、默认字符集和校对规则等。 2. TABLES: 此表列出了所有数据库中的表,包括表名、表类型(例如,基表或视图)、存储引擎以及创建时间等。 3. COLUMNS: 这个表详细地描述了每个表的所有列,包括列名、数据类型、是否可为空、键约束等。 4. STATISTICS: 提供了关于表索引的详细信息,如索引类型、索引长度、索引的基数等。 5. USER_PRIVILEGES: 显示了全局级别的用户权限信息,包括用户、主机名、授予的权限和限制。 6. SCHEMA_PRIVILEGES: 展示了特定模式下的用户权限,可以查看用户对某个数据库的读写权限等。 7. TABLE_PRIVILEGES: 提供了用户对特定表的权限详情,如SELECT、INSERT、UPDATE和DELETE等操作。 8. COLUMN_PRIVILEGES: 描述了用户对表中单个列的权限。 9. CHARACTER_SETS: 包含了MySQL支持的所有字符集的详细信息,如字符集名称、描述和默认校对规则。 10. COLLATIONS: 提供了关于字符集的校对规则,包括其适用性以及与哪个字符集相关联。 11. TABLE_CONSTRAINTS: 用于展示表之间的约束,如主键、外键等。 12. KEY_COLUMN_USAGE: 描述了表中约束所涉及的列,包括约束类型和引用的列。 13. ROUTINES: 包含了存储过程和函数的信息,如名称、参数、返回类型和定义。 14. VIEWS: 列出了所有视图的详细信息,如视图的SQL语句和创建时间。 15. TRIGGERS: 提供触发器的相关信息,包括触发器名称、事件(如INSERT、UPDATE或DELETE)、触发条件和执行的SQL语句。 通过查询这些表,开发者和数据库管理员可以获取到关于MySQL数据库的全方位信息,进行数据库设计、性能优化、权限管理等工作。例如,使用`SHOW DATABASES`、`SHOW TABLES`、`SHOW COLUMNS FROM`等命令,实际上是在背后查询information_schema数据库中的相应表。这种设计使得在MySQL中获取元数据变得更加方便和直观。
大家在安装或使用MYSQL时,会发现除了自己安装的数据库以外,还有一个information_schema数据库。 information_schema数据库是做什么用的呢,使用WordPress博客的朋友可能会想,是不是安装模板添加的数据库呀?看完本片文章 后,你就会对information_schema数据库有所了解。
information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式。什么是元数据呢?元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”。
在MySQL中,把 information_schema 看作是一个数据库,确切说是信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权 限等。在INFORMATION_SCHEMA中,有数个只读表。它们实际上是视图,而不是基本表,因此,你将无法看到与之相关的任何文件。
information_schema数据库表说明:
SCHEMATA表:提供了当前mysql实例中所有数据库的信息。是show databases的结果取之此表。
TABLES表:提供了关于数据库中的表的信息(包括视图)。详细表述了某个表属于哪个schema,表类型,表引擎,创建时间等信息。是show tables from schemaname的结果取之此表。
COLUMNS表:提供了表中的列信息。详细表述了某张表的所有列以及每个列的信息。是show columns from schemaname.tablename的结果取之此表。
STATISTICS表:提供了关于表索引的信息。是show index from schemaname.tablename的结果取之此表。
USER_PRIVILEGES(用户权限)表:给出了关于全程权限的信息。该信息源自mysql.user授权表。是非标准表。
SCHEMA_PRIVILEGES(方案权限)表:给出了关于方案(数据库)权限的信息。该信息来自mysql.db授权表。是非标准表。
TABLE_PRIVILEGES(表权限)表:给出了关于表权限的信息。该信息源自mysql.tables_priv授权表。是非标准表。
COLUMN_PRIVILEGES(列权限)表:给出了关于列权限的信息。该信息源自mysql.columns_priv授权表。是非标准表。
CHARACTER_SETS(字符集)表:提供了mysql实例可用字符集的信息。是SHOW CHARACTER SET结果集取之此表。
COLLATIONS表:提供了关于各字符集的对照信息。
COLLATION_CHARACTER_SET_APPLICABILITY表:指明了可用于校对的字符集。这些列等效于SHOW COLLATION的前两个显示字段。
下载后可阅读完整内容,剩余1页未读,立即下载
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 多传感器数据融合手册:国外原版技术指南
- MyEclipse快捷键大全,提升编程效率
- 从零开始的编程学习:Linux汇编语言入门
- EJB3.0实例教程:从入门到精通
- 深入理解jQuery源码:解析与分析
- MMC-1电机控制ASSP芯片用户手册
- HS1101相对湿度传感器技术规格与应用
- Shell基础入门:权限管理与常用命令详解
- 2003年全国大学生电子设计竞赛:电压控制LC振荡器与宽带放大器
- Android手机用户代理(User Agent)详解与示例
- Java代码规范:提升软件质量和团队协作的关键
- 浙江电信移动业务接入与ISAG接口实战指南
- 电子密码锁设计:安全便捷的新型锁具
- NavTech SDAL格式规范1.7版:车辆导航数据标准
- Surfer8中文入门手册:绘制等高线与克服语言障碍
- 排序算法全解析:冒泡、选择、插入、Shell、快速排序