mysql的information_schema浅析
information_schema 是 MySQL 中的一个虚拟数据库,它包含了关于 MySQL 服务器的所有元数据。
information_schema 作用
元数据管理:提供关于数据库、表、列、索引、权限等的信息。
性能优化:帮助了解数据库结构和索引使用情况,便于进行性能分析和优化。
安全和权限管理:查询用户和权限信息,帮助进行安全管理。
数据库维护:提供数据库、表、列的详细信息,便于进行维护和诊断。
常用表及其结构
information_schema 包含多个表,每个表提供不同方面的信息。以下是一些常用表的详细结构和使用方法。
- SCHEMATA 表
存储数据库的相关信息。
结构:
SCHEMA_NAME:数据库名称
DEFAULT_CHARACTER_SET_NAME:默认字符集
DEFAULT_COLLATION_NAME:默认校对规则
查询所有数据库:
SELECT SCHEMA_NAME FROM information_schema.SCHEMATA;
- TABLES 表
存储表的信息,包括表名、表类型、存储引擎等。
结构:
TABLE_SCHEMA:数据库名称
TABLE_NAME:表名称
TABLE_TYPE:表类型(BASE TABLE或VIEW)
ENGINE:存储引擎
TABLE_ROWS:表中的行数
查询某个数据库中的所有表:
SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'your_database';
- COLUMNS 表
存储列的信息,包括列名、数据类型、是否可以为空等。
结构:
TABLE_SCHEMA:数据库名称
TABLE_NAME:表名称
COLUMN_NAME:列名称
DATA_TYPE:数据类型
IS_NULLABLE:是否可以为空
COLUMN_DEFAULT:默认值
查询某个表的列信息:
SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'your_database' AND TABLE_NAME = 'your_table';
- STATISTICS 表
存储索引的信息。
结构:
TABLE_SCHEMA:数据库名称
TABLE_NAME:表名称
INDEX_NAME:索引名称
COLUMN_NAME:列名称
NON_UNIQUE:是否唯一索引
查询某个表的索引信息:
SELECT INDEX_NAME, COLUMN_NAME, NON_UNIQUE
FROM information_schema.STATISTICS
WHERE TABLE_SCHEMA = 'your_database' AND TABLE_NAME = 'your_table';
- USER_PRIVILEGES 表
存储用户权限的信息。
结构:
GRANTEE:授予者(用户@主机)
PRIVILEGE_TYPE:权限类型
IS_GRANTABLE:是否可授予
查询当前用户的权限:
SELECT PRIVILEGE_TYPE
FROM information_schema.USER_PRIVILEGES
WHERE GRANTEE = "'your_user'@'your_host'";
- PROCESSLIST 表
存储当前正在运行的查询。
结构:
ID:连接 ID
USER:用户名
HOST:主机名
DB:数据库名称
COMMAND:命令类型
TIME:执行时间
STATE:状态
INFO:查询信息
查询当前正在运行的查询:
SELECT * FROM information_schema.PROCESSLIST;
获取所有数据库名称
SELECT SCHEMA_NAME FROM information_schema.SCHEMATA;
获取某个数据库的所有表
SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'your_database';
获取某个表的列信息
SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'your_database' AND TABLE_NAME = 'your_table';
获取某个表的索引信息
SELECT INDEX_NAME, COLUMN_NAME, NON_UNIQUE
FROM information_schema.STATISTICS
WHERE TABLE_SCHEMA = 'your_database' AND TABLE_NAME = 'your_table';
获取当前用户的权限
SELECT PRIVILEGE_TYPE
FROM information_schema.USER_PRIVILEGES
WHERE GRANTEE = "'your_user'@'your_host'";
其他重要表
CHARACTER_SETS 表
提供服务器支持的字符集信息。
SELECT * FROM information_schema.CHARACTER_SETS;
COLLATIONS 表
提供服务器支持的校对规则信息。
SELECT * FROM information_schema.COLLATIONS;
ENGINES 表
提供服务器支持的存储引擎信息。
SELECT * FROM information_schema.ENGINES;
VIEWS 表
提供视图的信息。
SELECT * FROM information_schema.VIEWS;
ROUTINES 表
提供存储过程和函数的信息。
SELECT * FROM information_schema.ROUTINES WHERE ROUTINE_SCHEMA = 'your_database';
总结
information_schema 是一个非常强大的工具,提供了对 MySQL 数据库元数据的全面访问。通过熟练使用 information_schema,可以更好地理解和管理你的数据库,从而提高性能和安全性。无论是日常管理、性能优化还是安全性检查,information_schema 都提供了必要的信息支持。
相关文章:
mysql的information_schema浅析
information_schema 是 MySQL 中的一个虚拟数据库,它包含了关于 MySQL 服务器的所有元数据。 information_schema 作用 元数据管理:提供关于数据库、表、列、索引、权限等的信息。 性能优化:帮助了解数据库结构和索引使用情况,便…...
力扣爆刷第153天之TOP100五连刷26-30(接雨水、环形链表、最长上升子序列)
力扣爆刷第153天之TOP100五连刷26-30(接雨水、环形链表、最长上升子序列) 文章目录 力扣爆刷第153天之TOP100五连刷26-30(接雨水、环形链表、最长上升子序列)一、300. 最长递增子序列二、415. 字符串相加三、143. 重排链表四、42.…...
【Linux】—Apache Hive 安装部署
文章目录 前言认识Metadata认识Metastoremetastore三种配置方式 一、安装前准备二、下载hive-3.1.2安装包三、下载完成后,通过xftp6上传到Linux服务器上四、解压Hive安装包五、配置Hive六、内嵌模型安装—Hive元数据配置到Derby七、本地模式安装—Hive元数据配置到M…...
组装盒示范程序
代码; #include <gtk-2.0/gtk/gtk.h> #include <glib-2.0/glib.h> #include <stdio.h>int main(int argc, char *argv[]) {gtk_init(&argc, &argv);GtkWidget *window;window gtk_window_new(GTK_WINDOW_TOPLEVEL);gtk_window_set_title(GTK_WINDO…...
推荐一款AI修图工具,支持AI去水印,AI重绘,AI抠图...
不知道大家有没有这样的一个痛点,发现了一张不错的“素材”, 但是有水印,因此不能采用,但找来找去,还是觉得初见的那个素材不错,怎么办? 自己先办法呗。 二师兄发现了一款功能强大的AI修图工具…...
2024广东省职业技能大赛云计算赛项实战——容器化部署Nginx
容器化部署Nginx 前言 编写Dockerfile文件构建nginx镜像,要求基于centos完成Nginx服务的安装和配置,并设置服务开机自启。 编写Dockerfile构建镜像erp-nginx:v1.0,要求使用centos7.9.2009镜像作为基础镜像,完成Nginx服务的安装&…...
压缩pdf文件大小在线,在线免费压缩pdf
在现在办公中,PDF文档已经成为我们日常工作中不可或缺的一部分。然而,随着文档内容的不断丰富,PDF文件的大小也逐渐增大,这不仅占用了大量的存储空间,而且在传输和共享时也显得尤为不便。所以有时候我们需要把pdf压缩小…...
薄冰英语语法学习--名词1
我用来教我自己3岁的小孩的。 有特殊的情况,暂时先不用管,3岁小孩,只用全部按非特殊情况算就ok了,以后长大了,遇到问题了,再微调一下。先解决百分之90的问题。 一般的复数,直接加s 特殊的词尾…...
oracle12c到19c adg搭建(六)切换后12c备库服务器安装19c软件在19c主库升级数据字典后尝试同步
一、安装19c软件 参考文章oracle12c到19c adg搭建(三)oracle19c数据库软件安装 二、原主库尝试通过19c软件启动数据库 2.1复制12c的相关参数文件和密码文件到19c目录 注意:密码文件需要从已切换主库19c传过来 [oracleo12u19p ~]$ cd /u01/app/oracle…...
Scope XY Project的使用
1.Scope XY Project的功能介绍与使用方法 添加监控变量 绘制成一个三角形 XY进行对调操作 修改XY轴的比例修改显示输出 2.Cursor的使用方法 游标线的添加测量 3.Reporting功能的使用方法 到处对应的报表数据 添加对应的报告数据...
Pytorch Geometric(PyG)入门
PyG (PyTorch Geometric) 是建立在 PyTorch 基础上的一个库,用于轻松编写和训练图形神经网络 (GNN),适用于与结构化数据相关的各种应用。官方文档 Install PyG PyG适用于python3.8-3.12 一般使用场景:pip install torch_geometric 或conda …...
大模型KV Cache节省神器MLA学习笔记(包含推理时的矩阵吸收分析)
首先,本文回顾了MHA的计算方式以及KV Cache的原理,然后深入到了DeepSeek V2的MLA的原理介绍,同时对MLA节省的KV Cache比例做了详细的计算解读。接着,带着对原理的理解理清了HuggingFace MLA的全部实现,每行代码都去对应…...
项目中eventbus和rabbitmq配置后,不起作用
如下:配置了baseService层和SupplyDemand层得RabbitMQ和EventBus 但是在执行订阅事件时,发送得消息在base项目中没有执行,后来发现是虚拟机使用得不是一个,即上图中得EventBus下得VirtualHost,修改成一直就可以了...
文库小程序搭建部署:实现资源共享正向反馈
文档库相信大家应该不陌生,日常我们的工作模板、会议模板、求职时的简历模板、教育界的教学模板等来源方式都出自于文档库,随着互联网的发展和工作需求,文档模板开启了新型的知识变现新途径,通过文库小程序,我们不仅能…...
ONLYOFFICE 桌面编辑器8.1---一个高效且强大的办公软件
软件介绍 ONLYOFFICE 桌面编辑器经过不断的更新换代现在迎来了,功能更加强大的ONLYOFFICE 桌面编辑器8.1是一个功能强大的办公套件,专为多平台设计,包括Windows、Linux和macOS。它提供了一套全面的办公工具,包括文档处理、电子表…...
QThread 与QObject::moveToThread利用Qt事件循环在子线程执行多个函数
1. QThread的两种用法 第一种用法就是继承QThread,然后覆写 virtual void run(), 这种用法的缺点是不能利用信号槽机制。 第二种用法就是创建一个线程,创建一个对象,再将对象moveToThread, 这种可以充分利用信号槽机制ÿ…...
6-2 归并排序
6-2 归并排序 分数 10 全屏浏览 切换布局 作者 软件工程DS&A课程组 单位 燕山大学 以下代码采用分而治之算法实现归并排序。请补充函数mergesort()的代码。提示:mergesort()函数可用递归实现,其中参…...
Java NIO(一) 概述
NIO主要用于以少量线程来管理多个网络连接,处理其上的读写等事件。在大量连接情况下,不管是效率还是空间占用都要优于传统的BIO。 Java NIO 由以下几个核心部分组成: Channel Buffer Selector Selector 如果你的应用打开了多个连接&#x…...
JUC线程池最佳实践
参考:Java 线程池最佳实践 | JavaGuide 使用构造函数创建线程池。【使用有界队列,控制线程创建数量】 SpringBoot 中的 Actuator 组件 / ThreadPoolExecutor 的相关 API监控线程池运行状态 是不同的业务使用不同的线程池【父子任务用同一个线程池容易死…...
2024最新版Node.js下载安装及环境配置教程(非常详细)
一、进入官网地址下载安装包 官网:Node.js — Run JavaScript Everywhere 其他版本下载:Node.js — Download Node.js (nodejs.org) 选择对应你系统的Node.js版本 二、安装程序 (1)下载完成后,双击安装包…...
pyecharts-assets终极指南:告别网络依赖,打造本地可视化环境
pyecharts-assets终极指南:告别网络依赖,打造本地可视化环境 【免费下载链接】pyecharts-assets 🗂 All assets in pyecharts 项目地址: https://gitcode.com/gh_mirrors/py/pyecharts-assets 还在为pyecharts图表加载慢而烦恼吗&…...
Cursor Pro功能完全解锁指南:三步实现免费无限使用体验
Cursor Pro功能完全解锁指南:三步实现免费无限使用体验 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your tr…...
开源本地AI API网关:统一管理Ollama等模型,简化LLM应用开发
1. 项目概述:一个开源的本地AI API网关最近在折腾本地大语言模型(LLM)的朋友,估计都遇到过类似的烦恼:模型装好了,界面也跑起来了,但想把它集成到自己的应用里,或者想用一套统一的接…...
TestDisk PhotoRec:专业级数据恢复工具,拯救你的宝贵数据
TestDisk & PhotoRec:专业级数据恢复工具,拯救你的宝贵数据 【免费下载链接】testdisk TestDisk & PhotoRec 项目地址: https://gitcode.com/gh_mirrors/te/testdisk 你是否曾经不小心删除了重要的工作文档?是否遇到过硬盘分区…...
保姆级教程:在HCL模拟器上给H3C路由器配置DHCP服务器(双网段实战)
从零构建H3C路由器双网段DHCP服务:模拟器实战与协议解析 在虚拟实验室中搭建网络环境已成为现代工程师的必备技能,而DHCP服务作为网络自动化的基石,其配置过程往往成为初学者接触企业级设备的第一个实战挑战。本文将使用H3C官方推出的HCL模拟…...
胶片颗粒≠随机噪点,35mm风格出图翻车全解析,深度拆解ISO模拟、过期胶卷色偏与显影液残留建模逻辑
更多请点击: https://intelliparadigm.com 第一章:胶片颗粒≠随机噪点,35mm风格出图翻车全解析 胶片摄影的颗粒感(Grain)是银盐晶体在显影过程中形成的物理性、非均匀、结构化纹理,而数字图像中常见的“噪…...
跨设备可用!北大提出UniMM-HAR数据集:补齐毫米波雷达人体运动分析实用短板!
点击下方卡片,关注“CVer”公众号AI/CV重磅干货,第一时间送达点击进入—>【顶会/顶刊】投稿交流群添加微信号:CVer2233,小助手拉你进群!扫描下方二维码,加入CVer学术星球!可以获得最新顶会/顶…...
基于ESP32-S3的免焊接RGB矩阵屏驱动方案:从硬件解析到项目实战
1. 项目概述:从零到一的免焊接RGB矩阵显示方案如果你曾经尝试过驱动一块RGB LED矩阵屏,大概率会经历一段“痛并快乐着”的时光。快乐在于,当代码跑通,绚丽的色彩在眼前流动时,那种成就感无与伦比;痛苦则在于…...
点云与轨迹对齐:从经典算法到实际挑战的深度解析
1. 点云与轨迹对齐的核心挑战 想象一下你手里有两张不同角度拍摄的乐高城堡照片,现在需要把它们完美拼接起来。这就是点云对齐要解决的问题——找到两组三维数据之间的最佳变换关系。在机器人导航、自动驾驶和三维重建中,这个技术直接影响着定位精度和地…...
告别整板实心铜:在PADS VX2.7中为你的四层板电源层设置网格覆铜与开窗的完整流程
告别整板实心铜:在PADS VX2.7中为四层板电源层设置网格覆铜与开窗的完整流程 在高速PCB设计中,电源层的处理方式直接影响电路板的散热性能、机械强度和EMI表现。传统实心覆铜虽然阻抗低,但在热应力敏感场景下容易导致板翘曲,而密集…...
