前提了解,mysql创建语句
01
—
什么是元数据
02
—
关系型数据库Mysql、Postgresql
元数据简单介绍
下面主要针对Mysql 和 Postgresql两种关系型数据库进行一些元数据的介绍。那么为什么是这两种关系型数据库呢?因为目前它们是开源的,并且目前互联网的主流就是用它们。所以先介绍这两种数据库的元数据。
这里我们将介绍如何通过元数据获取:所有数据库、表、表字段 等等一些信息。
1、Mysql元数据
-- mysql下常用元数据表
SCHEMATA -- 数据库信息表
TABLES -- 表记录表
COLUMNS -- 表字段记录表
复制
-- 查询mysql实例下,有哪些db
select SCHEMA_NAME from information_schema.SCHEMATA;
-- 查询表所属db\表名称\表创建时间\表更新时间\表描述
select
TABLE_SCHEMA,TABLE_NAME,CREATE_TIME,UPDATE_TIME,TABLE_COMMENT
from information_schema.TABLES;
-- 说明:里面还包含表很多信息,例如:表占磁盘大小,表数据量多少
-- 查询表所属db\表名称\字段名称\字段顺序\字段类型\字段描述
select
table_schema,table_name,column_name,ordinal_position,data_type,column_comment
from information_schema.columns;
复制
2、Postgresql元数据(补充postgresql简称:pg库)
-- 在postgresql一个db下,常用的元数据表
select * from pg_catalog.pg_database;-- 记录所有db信息
select * from pg_catalog.pg_tables; -- 记录当前db下表信息
select * from pg_catalog.pg_namespace;-- 记录当前db下命名空间
select * from pg_catalog.pg_attribute;-- 记录当前db下字段信息
select * from pg_catalog.pg_class; -- 记录当前db下,命名空间、表、字段关系
-- 也可以写成 数据库.pg_catalog.pg_database 三层结构
-- 如: my_test_db.pg_catalog.pg_database;
-- 理解为: 数据库.命名空间.表
复制
-- 查询所有数据库
select * from pg_catalog.pg_database;
-- 说明:只要查询所有db时,不会受到每个db限制。
-- 其它查询都是限制在某个db下的
复制
-- 查询表信息,只能查询到当前连接的db下的所有表
select * from pg_catalog.pg_tables;
复制
-- 查询命名空间名称\表名称\表描述
select
n.nspname,
c.relname,
cast(obj_description(c.relfilenode,'pg_class') as varchar) as comment
from
pg_catalog.pg_namespace n
inner join
pg_class c on n.oid = c.relnamespace
where c.relkind = 'r' and c.relname not like 'pg_%' and c.relname not like 'sql_%' ;
复制
-- 查询命名空间'stg'下,表'test_2020'的字段\描述\类型\顺序
SELECT
n.nspname,
c.relname,
a.attname,
col_description(a.attrelid,a.attnum) as comment,
format_type(a.atttypid,a.atttypmod) as type,
a.attnum
FROM
pg_namespace n
inner join pg_class c on n.nspname ='stg' and n.oid = c.relnamespace
inner join pg_attribute a on c.relname = 'test_2020' and a.attrelid = c.oid and a.attnum>0;
复制
03
—
小结
如果大家喜欢可关注公众号,感谢!
文章转载自数据在此,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【MySQL 30周年庆】MySQL 8.0 OCP考试限时免费!教你免费领考券
墨天轮小教习
3165次阅读
2025-04-25 18:53:11
外国CTO也感兴趣的开源数据库项目——openHalo
小满未满、
1911次阅读
2025-04-21 16:58:09
MySQL 30 周年庆!MySQL 8.4 认证免费考!这次是认真的。。。
严少安
882次阅读
2025-04-25 15:30:58
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
524次阅读
2025-04-17 17:02:24
MySQL 9.3 正式 GA,我却大失所望,新特性亮点与隐忧并存?
JiekeXu
451次阅读
2025-04-15 23:49:58
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
381次阅读
2025-04-15 14:48:05
MySQL 8.0 OCP 1Z0-908 考试解析指南(二)
JiekeXu
330次阅读
2025-04-30 17:37:37
记录MySQL数据库的一些奇怪的迁移需求!
陈举超
294次阅读
2025-04-15 15:27:53
SQL优化 - explain查看SQL执行计划(下)
金同学
291次阅读
2025-05-06 14:40:00
MySQL 8.0 OCP 1Z0-908 考试题解析指南
青年数据库学习互助会
280次阅读
2025-04-30 12:17:54