对比Excel,轻松学习SQL数据分析
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

4.4 熟悉数据

熟悉数据就是熟悉这个数据库主要是什么数据库,这个数据库中包含哪些表,这些表又分别存储了什么信息,表中的每列分别代表什么。

要想知道这些信息,这一节给读者介绍一个MySQL中附属的数据库,就是information_schema,为什么说是附属的呢?是因为这个数据库是在安装MySQL的同时就会安装到计算机上。information_schema中主要存储了关于数据库的各种库、表、列、注释等信息。这个数据库对我们有什么用呢?有很大用处,尤其是当一个公司没有数据字典的时候,相关工作人员就可以通过查看这个数据库,然后自己去梳理字典。

打开MySQL命令终端,如果使用的操作系统是macOS,就是计算机终端。输入密码,然后输入命令“show databases;”,此时会展示出来MySQL自带的所有数据库,其中就包含information_schema。

information_schema中有很多表,继续在命令行中输入命令“use information_ schema;”,表示要使用这个数据库;然后输入命令“show tables;”,表示展示information_ schema中的所有表。

我们主要挑选以下三张比较常用的表(矩形框部分)来介绍。

4.4.1 了解数据库信息

SCHEMATA表存储了MySQL中所有与库相关的信息,比如,订单库、用户库等不同主题的库。

读者可以在线上查询平台中使用如下语句进行查看:

select * from information_schema.SCHEMATA

4.4.2 了解数据表信息

TABLES表存储了MySQL中与表相关的信息。它记录了某张表属于哪个数据库(TABLE_SCHEMA)、是做什么的表(表注释)、是什么时间创建的(CREATE_TIME)、有多少行数据(INDEX_LENGTH)等信息。

读者可以在线上查询平台中使用如下语句进行查看:

select * from information_schema.TABLES

4.4.3 了解列信息

COLUMNS表存储了MySQL的每张表中的列信息。它记录了某列属于哪张表(TABLE_NAME)、属于哪个库(TABLE_SCHEMA)、列的数据类型、列的注释(COLUMN_COMMENT)等信息。

读者可以在线上查询平台中使用如下语句进行查看:

select * from information_schema.COLUMNS

COLUMNS表中的字段COLUMN_COMMENT是关于列的注释信息,一般会标明这个列是什么字段、不同的数字代表什么含义(例如,0代表什么、1代表什么)。COLUMN_COMMENT字段有很大的作用,当你需要某个字段,但是又不知道这个字段在哪里存储的时候,就可以使用COLUMN_COMMENT字段进行模糊查找,比如,你想要获取用户购买日期,那么就可以通过如下语句来进行模糊查找:

select
   TABLE_SCHEMA
   ,TABLE_NAME
   ,COLUMN_NAME
   ,COLUMN_COMMENT
from
   information_schema.COLUMNS
where COLUMN_COMMENT like '%购买日期%'

还有一些权限表、索引表、视图表、触发程序表,我们作为数据使用方平常不怎么接触,所以这里就不详细介绍了,感兴趣的读者可以自行查看。