数据库中的元数据

刘耀铭同学元数据系列作品的第三篇,大家支持!

今天跟大家谈谈数据库中的元数据

数据库中的元数据无非就是对数据库中数据的描述与定义。

我们先举个现实生活中的栗子,假设小明想看某个电影,但是他忘记了电影的名称?

他可以根据电影类型、主演、上映的大致时间来搜索出他想看到的某个电影,那么这些电影类型、主演、上映时间就是对这个电影的描述,这些便是该电影的元数据。

现在换成数据库,在关系型数据库管理系统 (DBMS) 中,元数据描述了数据的结构和意义。比如在管理,维护Mysql 或者是开发数据库应用程序的时候,我们经常要获取一些涉及到数据库架构的信息:

  • 数据库中的表和视图的个数以及名称;
  • 表或者视图中列的个数以及每一列的名称、数据类型、长度、精度、描述等;
  • 表上定义的约束;
  • 表上定义的索引以及主键/外键的信息。

那么在mysql中如何获取数据库的元数据呢?

一般有一下三种方式

  • show语句

【example】:show databases; --列出所有数据库

show createdatabasedb_name; --查看数据库的DDL

  • 从INFORMATION_SCHEMA数据库里查询相关表

INFORMATION_SCHEMA是MySQL自带的一个系统数据库,它里面存储了所有的元数据,通过select里面的相关表就可以获取你想要的元数据。和show语句相比,它比较麻烦,但它的好处是标准的SQL语句,更具有可移植性,且更灵活,可以通过各种表达式获取你真正需要的信息。命令行程序,如mysqlshow, mysqldump

【example】:mysqlshow --列出所有数据库

mysqlshow db_name --列出给定数据库的所有表

原文发布于微信公众号 - 大数据和云计算技术(jiezhu2007)

原文发表时间:2016-12-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏吴伟祥

mysql 自增id和UUID做主键性能分析,及最优方案

UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领...

2852
来自专栏纯洁的微笑

MySQL 大表优化方案

除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在 千万级以下,字符串为主的表在 五百万以...

1224
来自专栏IT技术精选文摘

从程序员的角度深入理解MySQL

数据库基本原理 ? 第一,数据库的组成:存储 + 实例 不必多说,数据当然需要存储;存储了还不够,显然需要提供程序对存储的操作进行封装,对外提供增删改查的API...

1875
来自专栏搜云库

MySQL/InnoDB中,乐观锁、悲观锁、共享锁、排它锁、行锁、表锁、死锁概念的理解

MySQL/InnoDB的加锁,一直是一个面试中常问的话题。例如,数据库如果有高并发请求,如何保证数据完整性?产生死锁问题如何排查并解决?我在工作过程中,也会经...

2064
来自专栏杨建荣的学习笔记

关于MySQL极限值的初步验证纠错(二)

之前写了一篇自己的简单测试总结:关于MySQL极限值的初步验证纠错 今天在这个基础上继续做一些分析,如果说最权威,最全面的材料,那应该非官方文档莫属了...

34911
来自专栏数据和云

MySQL 大表优化方案,收藏了细看!

当 MySQL 单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化。 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分...

3069
来自专栏小怪聊职场

MySQL(五)|《千万级大数据查询优化》第二篇:查询性能优化(1)

2788
来自专栏Java大联盟

Java面试手册:数据库 ①

1092
来自专栏Java架构沉思录

如何优雅地优化MySQL大表

除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是...

1233
来自专栏数据和云

深入剖析:关于cache buffers chains的经典案例处理详解

? 卢文星 目前就职云和恩墨,南区交付工程师,有超过8年超大型数据库管理经验,擅长Oracle数据库性能优化与升级迁移。 作者介绍 故障现象 某省税务核心业务...

2726

扫码关注云+社区