查询Mysql 某个数据库中的所有表中是否包含某个字段
2023-09-11 14:22:11 时间
目录
一、背景
这几天从零构建数仓, 需要将MySQL中一个数据库下的所有表 ,使用Sqoop 同步到 hive数仓,第一次是全量导入,后面是增量的导入hive, 想查看 MySQL 的每个表中是否有updata_time字段。
二、查询
1. COLUMNS表
提供了表中的列信息。详细表述了某张表的所有列以及每个列的信息。
SELECT * from information_schema.`COLUMNS`;
2. TABLES表
提供了关于数据库中的表的信息(包括视图)。详细表述了某个表属于哪个schema,表类型,表引擎,创建时间等信息
SELECT * from information_schema.`TABLES` ;
3. 字段的查询
SELECT t.table_name,c.column_name FROM information_schema.`TABLES` t
INNER JOIN information_schema.`COLUMNS` c
ON c.TABLE_NAME = t.TABLE_NAME
WHERE t.TABLE_TYPE = 'BASE TABLE'
# 查询是否 都有 update_time 字段
AND c.COLUMN_NAME = 'update_time'
# 查询的数据库
AND t.TABLE_SCHEMA = 'data_exchange'
# 数据库中包含了其他的表, 使用模糊查询
AND t.TABLE_NAME LIKE '%dwd\_\jz\_0000%'
ORDER BY t.TABLE_TYPE
查询出 data_exchange 数据下 推过来的数据 ,都包含 update_time 字段,如果是这样那么Sqoop增量的导入数据就很容易了。
相关文章
- mysql数据库中,查看数据库的字符集(所有库的字符集或者某个特定库的字符集)
- 【MySQL高级】应用优化及Mysql中查询缓存优化以及Mysql内存管理及优化
- MySQL for Windows 解压缩版配置安装
- 查询Mysql数据库某表下非ID的其他字段
- 关于Mysql 查询所有表的实时记录用于对比2个MySQL 库的数据是否异步
- MySQL mysqldump备份数据库及恢复数据库(mysql命令)
- qt连接MySql数据库及增删改查示例
- mysql数据库提示本地无法连接远程服务器(Host is not allowed to connect to this MySQL server)解决办法
- MySQL数据库介绍——包含索引、视图、事务、引擎
- 从命令行连接到 MySQL 数据库
- [mysql]MySQL数据库如何导出
- python操作mysql数据库系列-安装MySql
- Python 使用PyMySql 库 连接MySql数据库时 查询中文遇到的乱码问题(实测可行) python 连接 MySql 中文乱码 pymysql库
- MySQL查看数据库大小、表大小和最后修改时间
- Cobar_基于MySQL的分布式数据库服务中间件
- Spring Boot应用连接数据库MySQL、及一个简单的demo
- mysql如何把 一个数据库中的表数据 复制到 另一个数据库中(两个数据库不在同一个数据库链接下)
- MySQL利用E-R模型的数据库概念设计
- 使用JDBC对数据库进行查询的前期准备工作,以及简单的JDBC访问MySQL数据库(Mac)
- idea从零到精通(11)之用JDBC连接Mysql数据库
- nodejs MYSQL数据库执行多表查询
- python封装一个工具类 ,对MySQL数据库增删改查,可多字段动态插入mysql数据库中