iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >【MySQL】MySQL information_schema 数据库详解
  • 598
分享到

【MySQL】MySQL information_schema 数据库详解

数据库mysqlsql 2023-10-23 09:10:11 598人浏览 安东尼
摘要

Mysql infORMation_schema 数据库详解 1. information_schema 简介2. information_schema 数据库中的表说明2.1 CHARACT

Mysql infORMation_schema 数据库详解

官方文档:https://dev.mysql.com/doc/refman/8.0/en/information-schema.html

本文基于 mysql 8.0.31 版本讲解。

1. information_schema 简介

information_schema 是 Mysql 自带的数据库,它提供了访问数据库元数据的方式。

(1)什么是元数据?

元数据(MetaData),即数据的数据,是指定义数据结构的数据。那么数据库元数据就是指定义数据库各类对象结构的数据。 例如数据库中的数据库名,表明, 列名、用户名、版本名以及从SQL语句得到的结果中的大部分字符串是元数据。

(2)MySQL 中的 information_schema数据库

在 MySQL 中,把 information_schema 看做是一个数据库,确切的说是信息数据库。它保存着关于 MySQL 服务器所维护的所有其他数据库的信息,如:数据库名,数据库的表,表栏的数据类型与访问权限等。在 information_schema 中,有数个只读表。它们实际上是视图,而不是基本表,因此,你将无法看到与之相关的任何文件。

2. information_schema 数据库中的表说明

mysql> use information_schema;mysql> show tables;

2.1 CHARACTER_SETS 表

提供了 MySQL 实例可用字符集的信息,SHOW CHARACTER SET; 命令从这个表获取结果。

mysql> SHOW CHARACTER SET;mysql> SELECT * FROM CHARACTER_SETS;

2.2 SCHEMATA 表

提供了当前 MySQL 实例中所有数据库的信息。show databases; 命令的结果就是取的此表。

mysql> show databases;mysql> SELECT * FROM SCHEMATA;

2.3 TABLES 表

存储数据库中的表信息(包括视图),包括表属于哪个数据库,表的类型、存储引擎、创建时间等信息。SHOW TABLES FROM XX; 命令从这个表获取结果。

mysql> SELECT * FROM TABLES;mysql> SHOW TABLES FROM pointer_mall;

2.4 COLUMNS 表

存储表中的列信息,包括表有多少列、每个列的类型等。SHOW COLUMNS FROM schemaname.tablename; 命令从这个表获取结果。

mysql> SELECT * FROM COLUMNS LIMIT 2,5;SHOW COLUMNS FROM pointer_mall.account;

2.5 STATISTICS 表

索引的信息。SHOW INDEX FROM schemaname.tablename; 命令从这个表获取结果。

mysql> SHOW INDEX FROM pointer_mall.account;

2.6 USER_PRIVILEGES 表

用户权限表。内容源自 mysql.user 授权表。是非标准表。

mysql> SELECT * FROM USER_PRIVILEGES;

2.7 SCHEMA_PRIVILEGES 表

方案权限表。给出了关于方案(数据库)权限的信息。内容来自 mysql.db 授权表。是非标准表。

mysql> SELECT * FROM SCHEMA_PRIVILEGES;

2.8 TABLE_PRIVILEGES 表

表权限表。给出了关于表权限的信息。内容源自 mysql.tables_priv 授权表。是非标准表。

mysql> SELECT * FROM TABLE_PRIVILEGES;

2.9 COLUMN_PRIVILEGES 表

列权限表。给出了关于列权限的信息。内容源自 mysql.columns_priv 授权表。是非标准表。

mysql> SELECT * FROM COLUMN_PRIVILEGES;

2.10 COLLATIONS 表

提供了关于各字符集的对照信息。SHOW COLLATION; 命令从这个表获取结果。

mysql> SELECT * FROM COLLATIONS;mysql> SHOW COLLATION;

2.11 COLLATION_CHARACTER_SET_APPLICABILITY 表

指明了可用于校对的字符集。相当于 SHOW COLLATION; 命令结果的前两个字段。

mysql> SELECT * FROM COLLATION_CHARACTER_SET_APPLICABILITY;

2.12 TABLE_CONSTRaiNTS 表

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

mysql> SELECT * FROM TABLE_CONSTRAINTS;

2.13KEY_COLUMN_USAGE 表

描述了具有约束的键列。

mysql> SELECT * FROM KEY_COLUMN_USAGE;

2.14 ROUTINES 表

提供了关于存储子程序(存储程序和函数)的信息。此时,ROUTINES 表不包含自定义函数(UDF)。名为 mysql.proc name 的列指明了对应于 INFORMATION_SCHEMA.ROUTINES 表的 mysql.proc 列。

2.15 VIEWS 表

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

mysql> SELECT * FROM VIEWS LIMIT 1\G*************************** 1. row ***************************       TABLE_CATALOG: def        TABLE_SCHEMA: sys          TABLE_NAME: version     VIEW_DEFINITION: select '2.1.2' AS `sys_version`,version() AS `mysql_version`        CHECK_OPTION: NONE        IS_UPDATABLE: NO             DEFINER: mysql.sys@localhost       SECURITY_TYPE: INVOKERCHARACTER_SET_CLIENT: utf8mb4COLLATION_CONNECTION: utf8mb4_0900_ai_ci1 row in set (0.00 sec)

2.16 TRIGGERS 表

提供了关于触发程序的信息。必须有 super 权限才能查看该表。

mysql> SELECT * FROM TRIGGERS LIMIT 1\G*************************** 1. row ***************************           TRIGGER_CATALOG: def            TRIGGER_SCHEMA: sys              TRIGGER_NAME: sys_config_insert_set_user        EVENT_MANIPULATION: INSERT      EVENT_OBJECT_CATALOG: def       EVENT_OBJECT_SCHEMA: sys        EVENT_OBJECT_TABLE: sys_config              ACTION_ORDER: 1          ACTION_CONDITION: NULL          ACTION_STATEMENT: BEGIN    IF @sys.ignore_sys_config_triggers != true AND NEW.set_by IS NULL THEN        SET NEW.set_by = USER();    END IF;END        ACTION_ORIENTATION: ROW             ACTION_TIMING: BEFOReactION_REFERENCE_OLD_TABLE: NULLACTION_REFERENCE_NEW_TABLE: NULL  ACTION_REFERENCE_OLD_ROW: OLD  ACTION_REFERENCE_NEW_ROW: NEW                   CREATED: 2022-11-03 14:07:50.56                  SQL_MODE: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION                   DEFINER: mysql.sys@localhost      CHARACTER_SET_CLIENT: utf8mb4      COLLATION_CONNECTION: utf8mb4_0900_ai_ci        DATABASE_COLLATION: utf8mb4_0900_ai_ci1 row in set (0.00 sec)

3. MySQL 8.0 information_schema 改进

重命名的 InnoDB information_schema

旧名称新名称
INNODB_SYS_COLUMNSINNODB_COLUMNS
INNODB_SYS_DATAFILESINNODB_DATAFILES
INNODB_SYS_FIELDSINNODB_FIELDS
INNODB_SYS_FOREIGNINNODB_FOREIGN
INNODB_SYS_FOREIGN_COLSINNODB_FOREIGN_COLS
INNODB_SYS_INDEXESINNODB_INDEXES
INNODB_SYS_TABLESINNODB_TABLES
INNODB_SYS_TABLESPACESINNODB_TABLESPACES
INNODB_SYS_TABLESTATSINNODB_TABLESTATS
INNODB_SYS_VIRTUALINNODB_VIRTUAL

来源地址:https://blog.csdn.net/weixin_42201180/article/details/127354532

您可能感兴趣的文档:

--结束END--

本文标题: 【MySQL】MySQL information_schema 数据库详解

本文链接: https://www.lsjlt.com/news/440218.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 【MySQL】MySQL information_schema 数据库详解
    MySQL information_schema 数据库详解 1. information_schema 简介2. information_schema 数据库中的表说明2.1 CHARACT...
    99+
    2023-10-23
    数据库 mysql sql
  • MySQL之information_schema数据库详细讲解
    1. 概述 information_schema 数据库跟 performance_schema 一样,都是 MySQL 自带的信息数据库。其中 performance_schema...
    99+
    2024-04-02
  • MySQL中information_schema数据库表如何使用
    今天就跟大家聊聊有关MySQL中information_schema数据库表如何使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 ...
    99+
    2024-04-02
  • Mysql 常见函数、information_schema元数据库、查询、练习
    常见的运算符 MySQL 提供了一些运算符号,可以在SQL 语句中使用,比如需要对SQL 语句中的某个值,或者某个字段做运算操作的时候,就可以使用这些运算符。 比较运算符 运算符含义=字段等于固定的值...
    99+
    2023-10-28
    数据库 mysql android
  • MySQL数据库——MySQL user权限表详解
    MySQL 在安装时会自动创建一个名为 mysql 的数据库,mysql 数据库中存储的都是用户权限表。用户登录以后,MySQL 会根据这些权限表的内容为每个用户赋予相应的权限。 user 表是 MySQL 中最重要的一个权限表,用来记录允...
    99+
    2023-09-10
    数据库 mysql 服务器
  • MySQL数据库——MySQL配置文件(my.ini)详解
    my.ini 是 MySQL 数据库中使用的配置文件,MySQL 服务器启动时会读取这个配置文件,我们可以通过修改这个文件,达到更新配置的目的。 这里以 Windows 系统下的 my.ini 配置文件为样板,讲解 MySQL 配置文件中的...
    99+
    2023-09-02
    数据库 mysql 服务器
  • Mysql数据库ALTER操作详解
    目录背景:案例一:将表employees的lastName字段修改到firstName字段后面,并减少字符长度。案例二:将表employees的sex字段改名为employee_se...
    99+
    2024-04-02
  • MySQL数据库之索引详解
    目录一、MySQL索引简介二、MySQL五种类型索引详解(一)普通索引(二)唯一性索引(三)主键索引(四)复合索引(五)全文索引三、MySQL索引使用原则总结今天继续给大家介绍MyS...
    99+
    2024-04-02
  • MySQL数据库 | SQL语句详解
    MySQL数据库基本操作——DDL DDL解释: 数据库的常用操作 表结构的常用操作 修改表结构 数据库的常用操作 查看所有的数据库show databases;创建数据库create database if not exists 表名;切...
    99+
    2023-08-23
    数据库 sql mysql
  • MySQL数据库的数据类型decimal详解
    在MySQL数据库中,decimal数据类型用于存储精确的小数值。它比其他浮点类型(如float和double)更适合用于存储货币金...
    99+
    2023-09-14
    MySQL
  • Mysql数据库group by原理详解
    目录引言1. 使用group by的简单例子2. group by 原理分析2.1 explain 分析2.2 group by 的简单执行流程3. where 和 hav...
    99+
    2024-04-02
  • mysql操作数据库基础详解
    目录一、介绍二、SQL分类三、基本操作创建查询修改删除使用数据库一、介绍 MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这...
    99+
    2022-11-13
    mysql 操作数据库基础 mysql 操作数据库
  • MySQL入门(二) 数据库数据类型详解
    序言 今天去健身了,感觉把身体练好还是不错的,闲话不多说,把这个数据库所遇到的数据类型今天统统在这里讲清楚了,以后在看到什么数据类型,咱度应该认识,对我来说,最不熟悉的应该就是时间类型这块了。但是通过今天的...
    99+
    2024-04-02
  • 【MySQL 】MySQL 创建数据库, MySQL 删除数据库,MySQL 选择数据库
    作者简介: 辭七七,目前大一,正在学习C/C++,Java,Python等 作者主页: 七七的个人主页 文章收录专栏: 七七的闲谈 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 ...
    99+
    2023-08-24
    数据库 mysql 后端 开发语言 jvm
  • MYSQL Binlog恢复误删数据库详解
    对表误删或执行缺少条件的修改 SQL 导致修改了表内其他数据时,我们需要想办法将数据恢复回来。 先创建两个测试表 table_1 CREATE TABLE `table_1` ( `id` int(0) NOT N...
    99+
    2022-11-18
    MYSQL Binlog数据还原 MYSQL Binlog恢复数据
  • MySQL数据库表中的约束详解
    目录mysql表中的约束(constraint)约束分类非空约束唯一性约束复合约束主键约束自增列-AUTO_INCREMENT外键约束FOREIGN KEY约束CHECK约束DEFAULT约束MySQL表中的约束(con...
    99+
    2023-03-02
    MySQL表中的约束 MySQL数据库约束 MySQL约束的使用
  • MySQL数据库JDBC编程详解流程
    目录一、数据库编程的必备条件二、Java的数据库编程:JDBC三、JDBC工作原理四、JDBC开发步骤五、JDBC操作步骤六、优化JDBC的部分代码1.获取数据库连接对象2.操作命令...
    99+
    2024-04-02
  • MySQL学习之数据库备份详解
    目录1.DB,DBMS,SQL2.数据库的特点3.SQL分类4.mysql两种启动关闭方式5.mysql的登录方式()6.SQL语言规范7.navicat常用快捷键8.数据库的备份和...
    99+
    2024-04-02
  • MySQL数据库的约束限制详解
    目录一、介绍二、操作添加删除外键联级操作一、介绍 数据库的约束是对表中数据进行的一种限制,为了保证数据的正确性、有效性、完整性。 无论是在添加数据还是在删除数据的时候,都能提供帮助。...
    99+
    2022-11-13
    MySQL数据库 MySQL约束
  • 怎么理解并掌握mysql中的information_schema
    本篇内容介绍了“怎么理解并掌握mysql中的information_schema”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作