information_schema系列五(表,触发器,视图,存储过程和函数)
这个系列的文章主要是为了能够让自己了解MySQL5.7的一些系统表,统一做一下备注和使用,也希望分享出来让大家能够有一点点的受益。
1:TABLES
TABLES这张表毫无疑问了,就是记录的数据库中表的信息,其中包括系统数据库和用户创建的数据库。而TABLESPACES 却是标注的活跃表空间。
看一下TABLES 的记录关于TEST1表:

其实我们通过show table status like 'test1'\G;可以看到相同的信息。

TABLE_TYPE这列有两种类型,分别是BASE TABLE和VIEW两种,TABLE_ROWS就是指明表的行数是多少。如果十一INFORMATION_SCHEMA的表的话,这个值就是NULL。
DATA_FREE这个列指明的是表的可用空间是多少。
我们可以通过以下方式进行查询:
SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'db_name' AND table_name LIKE 'tablename'
查看某个表的详细信息.这点要注意分区表和普通表的显示会有所不同,所以说如果是分区表的话可以稍微留意一下。
2:TRIGGERS
首先看一下记录:

这个表记录的就是触发器的信息,包括所有的相关的信息。系统的和自己用户创建的触发器。
我们也可以通过以下的信息查看一个系统的触发器信息。
SHOW create TRIGGER sys_config_insert_set_user\G;
具体列的信息就不再说了,看着就很明白。贴一下show create trigger的信息
我们可以通过以下信息进行查询
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_SCHEMA='test' AND TRIGGER_NAME='name'\G
3: VIEWS
老规矩查看一下信息

这个存放的是视图的信息,也是系统的和用户的基本视图信息。
我们其实需要查看的就是这个视图的创建语句。通过一下语句就能够查询
SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME = 'v';
4:ROUTINES
这个视图存放的也是一些基本信息,是关于存储过程和方法function的一些信息,不过这个信息是不包括用户自定义的,只是系统的一些信息。
里面包含了很多信息,我们可以看一下列结构,因为实在太多贴不出来了:

PS:最近几天事情太多,写的东西没啥技术含量,都是一些自己测试测试看看。其实看官网的话来的更快一点。建议大家直接看官网资料。
热衷于学习讨论MySQL和SQL Server,NoSQL等数据库技术,欢迎加入SQL优化群:659336691
分类:
MySQL
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!