当前位置: 首页 > news >正文

mysql 之 information_schema

information_schema 是 MySQL 中的一个特殊数据库,它提供了关于 MySQL 服务器中所有数据库、表、列、索引、存储过程、函数、触发器等对象的元数据信息。information_schema 是一个只读数据库,主要用于查询数据库的结构信息,而不是存储用户数据。

information_schema 的功能分析
1. 元数据查询
information_schema 主要用于查询数据库的元数据,包括但不限于:
数据库信息:列出所有数据库及其相关信息。
表信息:列出数据库中的所有表及其相关信息。
列信息:列出表中的所有列及其相关信息。
索引信息:列出表的所有索引及其相关信息。
存储过程和函数信息:列出数据库中的所有存储过程和函数及其相关信息。
视图信息:列出数据库中的所有视图及其相关信息。
用户权限信息:列出用户的权限信息。
2. 主要表介绍
以下是 information_schema 中一些主要表的功能介绍:
SCHEMATA:列出所有数据库的信息,包括数据库名、默认字符集和排序规则等。
TABLES:列出数据库中的所有表的信息,包括表名、表类型、创建选项等。
COLUMNS:列出表中的所有列的信息,包括列名、数据类型、是否允许空值、默认值等。
STATISTICS:列出表的所有索引的信息,包括索引名、索引类型、是否唯一等。
VIEWS:列出数据库中的所有视图的信息,包括视图定义等。
ROUTINES:列出数据库中的所有存储过程和函数的信息,包括过程或函数名、参数等。
USER_PRIVILEGES:列出用户的权限信息,包括用户可以执行的操作等。
3. 示例查询
以下是一些基本的查询示例,展示如何使用 information_schema:
列出所有数据库:

 SELECT schema_nameFROM information_schema.SCHEMATA;

列出特定数据库中的所有表:(不带条件所有库中所有表)

  SELECT table_nameFROM information_schema.TABLESWHERE table_schema = 'your_database_name';

列出特定表的所有列:

 SELECT column_nameFROM information_schema.COLUMNSWHERE table_schema = 'your_database_name'AND table_name = 'your_table_name';

列出特定表的所有索引:

SELECT routine_name, routine_typeFROM information_schema.ROUTINESWHERE routine_schema = 'your_database_name';

列出用户的权限:

  SELECT privilege_typeFROM information_schema.USER_PRIVILEGESWHERE grantee = 'your_username';

为什么 information_schema 不能被删除或修改
只读特性:information_schema 是只读的,任何尝试修改或删除其内容的操作都会被 MySQL 阻止。
动态生成:information_schema 中的数据是动态生成的,不是物理存储的数据,而是从 MySQL 服务器内部状态中动态获取的数据视图。
系统重要性:information_schema 对于 MySQL 的正常运行至关重要,因此不允许用户直接修改或删除。
 

查看数据库所有表的table_rows/data_leangth/index_length


http://www.mrgr.cn/news/24498.html

相关文章:

  • 动态数字时钟屏保 提升桌面美化 电脑屏幕屏保软件
  • 上海徐汇区开启大模型备案奖励申报
  • 一种简易CAN数据分析器的实现(一)【工程创建+CAN波特率计算工具】
  • Node.js 多版本安装与切换指南
  • vue中好用的插件(记录一下...)
  • Spring Cloud Gateway中的常见配置
  • 2. 两数相加
  • 深度学习数据集
  • 【Python篇】PyQt5 超详细教程——由入门到精通(中篇二)
  • 内网nginx配置Https证书
  • 企业文档备份软件有哪些?推荐四款最佳的企业备份软件
  • 数据结构——链表
  • 移动硬盘读取出错结构损坏?数据恢复实战指南
  • AFSim仿真系统---向导参考指南OptionsTools菜单部分Tools Menu - Warlock(3)
  • 视频号运营方法
  • Android 设计模式
  • Redis的常见问题
  • VD1013 DFN小封装芯片 适用于小电流的输出的电池保护芯片
  • SpringBoot之@Bean
  • Rocky Linux 8通过chrony模块设置时间同步