前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mysql自带数据库中的信息

Mysql自带数据库中的信息

作者头像
呼延十
发布2019-07-01 17:14:44
4K0
发布2019-07-01 17:14:44
举报
文章被收录于专栏:呼延呼延

当你新接触一个数据库,对其中的数据库,表,字段什么的都不清楚,这时候需要查找某个字段,怎么办呢?

比如,你新接触了一个数据库,其中有20多个库,每个库里面有500+的表格,你这个时候想找用户的昵称字段,要一个一个表去查吗?或者挨个看名字里面带有user的表,然后逐一执行desc table查看字段吗?

no,你可以直接通过读元数据的一些信息来快速定位.

当你新建一个mysql服务,并且使用root用户登录mysql(或者你拥有相应的权限),会发现mysql预先安装了四个数据库.

  • information_schema
  • mysql
  • perfomance_schema
  • test

这些数据库完全可以当成是普通的数据库,使用查询语句去获取其中的信息.

接下来逐一看一下里面保存了哪些数据.

information_schema

这个数据库主要用来存储数据的数据,即你的数据库信息,数据表信息,字段信息等等.表非常的多,这里不逐一列举,仅查看一些常用的表.

  • SCHEMATA:提供了当前mysql实例中所有数据库的信息,我们经常使用的show databases就是从这里读取数据的.
  • TABLES:提供了关于数据库中的表的信息(包括视图)。详细表述了某个表属于哪个schema,表类型,表引擎,创建时间,备注等信息。
  • COLUMNS:提供了表中的列信息。详细的描述了某个字段属于某张表,某个库,以及其他的字段名,字段类型,权限,备注等信息.
  • STATISTICS:提供了关于表索引的信息。
  • TABLE_CONSTRAINTS:描述了存在约束的表。以及表的约束类型等。
  • KEY_COLUMN_USAGE:描述了具有约束的键列。
  • VIEWS:给出了关于数据库中的视图的信息。
  • TRIGGERS:提供了关于触发器的信息。

mysql

这是mysql的核心库,我们的用户,密码及权限等相关信息都存储在这里,所以在修改用户或者添加用户等操作的时候,使用grant命令和直接对这个库中的user表进行增删改查的作用是相等的.

这其中最常用的就是user表,可以对其进行操作.比如:

代码语言:javascript
复制
delete from mysql.user where User='haha';

可以删除用户.

performance_schema

这里存储的是一些和性能相关的信息.目前没有研究,普通用户也用不上,等我需要用到的时候回来补充.

test

这是一个纯粹的测试库,可以继续使用测试自己的程序也可以直接删除.

ChangeLog

2019-04-18 完

以上皆为个人所思所得,如有错误欢迎评论区指正。

欢迎转载,烦请署名并保留原文链接。

联系邮箱:huyanshi2580@gmail.com


本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • information_schema
  • mysql
  • performance_schema
  • test
    • ChangeLog
    相关产品与服务
    云数据库 SQL Server
    腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档