Encuentre tablas en MySQL con nombres de columna específicos en ellas
- Esquema en MySQL
- Crear tablas en MySQL Schema y enumerarlas
- Listar tablas con nombres de columna específicos en MySQL
Este tutorial muestra cómo encontrar todas las tablas en MySQL con nombres de columna específicos, pero antes de eso, es esencial comprender el esquema (base de datos) donde se almacenan estas tablas. Así que empecemos con eso.
Esquema en MySQL
Una base de datos/esquema especifica las restricciones lógicas, incluidos los nombres de las tablas, los campos, los tipos de datos y las conexiones entre estas entidades, que rigen cómo se organizan los datos en una base de datos relacional.
Crear esquema / base de datos:
mysql> CREATE SCHEMA schema_name;
O
mysql> CREATE DATABASE schema_name;
Estas consultas anteriores se utilizan para crear esquemas/bases de datos, mostrando un resultado similar. Primero debe seleccionar el esquema que acaba de crear para usar y ejecutar consultas en ese esquema.
Esquema de uso:
mysql> USE schema_name;
Sin embargo, si desea eliminar un esquema o una base de datos en particular, debe ejecutar la siguiente consulta.
Esquema de caída:
mysql> DROP SCHEMA schema_name;
Crear tablas en MySQL Schema y enumerarlas
Todos los datos de una base de datos se almacenan en tablas, conocidas como objetos de base de datos.
Los datos se organizan lógicamente en tablas utilizando un diseño de filas y columnas similar a una hoja de cálculo. Cada columna denota un campo de registro y cada fila indica un registro distinto.
Crear una tabla:
mysql> CREATE TABLE table_name(
column_name datatype,
column_name datatype,
...
);
En MySQL, los nombres de las tablas y las columnas no distinguen entre mayúsculas y minúsculas. Significa que si crea una tabla llamada “MI_TABLA” y “mi_tabla”, ambas son iguales.
Si no necesita una tabla, puede usar la siguiente consulta para eliminarla del esquema.
mysql> DROP TABLE table_name;
Un esquema/base de datos puede contener muchas tablas. Puede imaginar un esquema como una carpeta que crea en su sistema operativo.
A veces, se vuelve abrumador y puede perder el rastro de las tablas que ha creado en su esquema y desea enumerar todas las tablas en el esquema particular.
En ese caso, la siguiente consulta es muy útil. Primero, asegúrese de haber seleccionado su esquema usando USE schema_name;
consulta.
Mostrar todas las tablas:
mysql> SHOW TABLES;
Si también desea saber cuáles son los tipos de tablas en su esquema, puede modificar aún más la consulta anterior:
mysql> SHOW FULL TABLES;
Además, si desea la lista de tablas de otro esquema sin cambiar su esquema actual. MySQL proporciona esta característica; puede utilizar la cláusula FORM
o IN
en la consulta:
mysql> SHOW TABLES FROM schema_name;
O
mysql> SHOW TABLES IN schema_name;
Estas son las consultas básicas que lo ayudan a obtener detalles básicos de un esquema. Sin embargo, también modifica más esta consulta, lo que obtendrá el resultado exacto que desea y puede volverse más elegante con él.
Listar tablas con nombres de columna específicos en MySQL
Si desea encontrar una tabla de cualquier esquema que contenga algunas columnas específicas, está buscando.
Con la ayuda de una vista
de MySQL llamada INFORMATION_SCHEMA.COLUMNS
, podemos obtener y ver
todas las columnas o columnas específicas de todas las tablas.
De forma predeterminada, obtendrá columnas de cada TABLE en el esquema. Sin embargo, puede filtrar estas columnas con las cláusulas SELECT
, FROM
y WHERE
.
mysql> SELECT DISTINCT table_name
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME IN ('column_1', 'column_2', ...)
AND TABLE_SCHEMA = 'schema_name';
O, una versión más simple de la consulta anterior:
mysql> SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE column_name = 'column_names';
Si no está seguro del nombre exacto de la columna que desea obtener, existe una opción alternativa: expresiones regulares.
MySQL admite expresiones regulares de una de las muchas combinaciones de expresiones regulares. Entonces, por ejemplo, puede usar las cláusulas WHERE
y LIKE
para encontrar la columna deseada con una sola palabra.
Posteriormente, utilizando la expresión regular '%column_word%'
. El '%column_word%'
encuentra cualquier valor con la palabra mencionada en cualquier posición.
mysql> SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME LIKE '%column_word%';