Consultar si un campo está incluido en todas las tablas de una base de datos en Mysql

Tabla de contenido

1. Antecedentes

Dos, consulta

1. Tabla COLUMNAS

2. TABLAS

3. Consulta de campo


1. Antecedentes

  Para construir un almacén de datos desde cero en estos días, necesita sincronizar todas las tablas en una base de datos en MySQL con el almacén de datos de la colmena usando Sqoop. La primera vez es una importación completa, seguida de una importación incremental a colmena. Quiero ver cada una tabla en MySQL. Si hay un campo actual_tiempo en ella.

Dos, consulta

1. Tabla COLUMNAS

Proporciona información sobre las columnas de la tabla. Detalla todas las columnas de una tabla y la información de cada columna.

SELECT * from information_schema.`COLUMNS`;

2. TABLAS

Proporciona información sobre las tablas de la base de datos (incluidas las vistas). Describe en detalle a qué esquema, tipo de tabla, motor de tabla, hora de creación y otra información de una tabla pertenece

SELECT * from information_schema.`TABLES` ;

 3. Consulta de campo

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 

Consulta los datos transferidos desde los datos de intercambio de datos, todos los cuales incluyen el campo update_time. Si este es el caso, es fácil importar datos de forma incremental en Sqoop.

Supongo que te gusta

Origin blog.csdn.net/qq_35995514/article/details/108455126
Recomendado
Clasificación