information_schema系列五(表,触发器,视图,存储过程和函数)

Posted timxgb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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_userG;
具体列的信息就不再说了,看着就很明白。贴一下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的一些信息,不过这个信息是不包括用户自定义的,只是系统的一些信息。
里面包含了很多信息,我们可以看一下列结构,因为实在太多贴不出来了:
技术分享图片
 
 
 

以上是关于information_schema系列五(表,触发器,视图,存储过程和函数)的主要内容,如果未能解决你的问题,请参考以下文章

information_schema系列六(索引,表空间,权限,约束相关表)

information_schema系列六(索引,表空间,权限,约束相关表)

information_schema系列二(列,列权限,事件,存储引擎)

information_schema系列八(锁,事物)

information_schema系列二(列,列权限,事件,存储引擎)

information_schema系列七