sql >> Base de Datos >  >> RDS >> Mysql

4 formas de verificar el tipo de datos de una columna en MySQL

Aquí hay cuatro formas de obtener el tipo de datos de una columna en MySQL.

El SHOW COLUMNS Declaración

El SHOW COLUMNS muestra información sobre las columnas en una tabla o vista determinada. Podemos pasar el nombre de la tabla o vista para devolver información sobre sus columnas:

SHOW COLUMNS FROM Pets;

Resultado:

+-----------+-------------+------+-----+---------+-------+
| Field     | Type        | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| PetId     | int         | NO   | PRI | NULL    |       |
| PetTypeId | int         | NO   |     | NULL    |       |
| OwnerId   | int         | NO   |     | NULL    |       |
| PetName   | varchar(60) | NO   |     | NULL    |       |
| DOB       | date        | YES  |     | NULL    |       |
+-----------+-------------+------+-----+---------+-------+

Podemos reducirlo a una sola columna si es necesario:

SHOW COLUMNS FROM Pets
WHERE Field = 'PetName';

Resultado:

+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| PetName | varchar(60) | NO   |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+

El DESCRIBE / DESC Declaración

El DESCRIBE instrucción es un atajo para SHOW COLUMNS FROM sintaxis:

DESCRIBE Pets;

Resultado:

+-----------+-------------+------+-----+---------+-------+
| Field     | Type        | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| PetId     | int         | NO   | PRI | NULL    |       |
| PetTypeId | int         | NO   |     | NULL    |       |
| OwnerId   | int         | NO   |     | NULL    |       |
| PetName   | varchar(60) | NO   |     | NULL    |       |
| DOB       | date        | YES  |     | NULL    |       |
+-----------+-------------+------+-----+---------+-------+

Simplemente agregue el nombre de la columna para limitarlo a una sola columna:

DESCRIBE Pets PetName;

Resultado:

+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| PetName | varchar(60) | NO   |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+

También puede utilizar comodines:

DESCRIBE Pets 'Pet%';

Resultado:

+-----------+-------------+------+-----+---------+-------+
| Field     | Type        | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| PetId     | int         | NO   | PRI | NULL    |       |
| PetTypeId | int         | NO   |     | NULL    |       |
| PetName   | varchar(60) | NO   |     | NULL    |       |
+-----------+-------------+------+-----+---------+-------+

También puede acortarlo a DESC :

DESC Pets PetName;

Resultado:

+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| PetName | varchar(60) | NO   |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+

El information_schema.columns Ver

El information_schema.columns la vista contiene información sobre las columnas:

SELECT 
    COLUMN_NAME, 
    DATA_TYPE, 
    CHARACTER_MAXIMUM_LENGTH AS MAX_LENGTH, 
    CHARACTER_OCTET_LENGTH AS OCTET_LENGTH 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'Pets' 
AND COLUMN_NAME = 'PetName';

Resultado:

+-------------+-----------+------------+--------------+
| COLUMN_NAME | DATA_TYPE | MAX_LENGTH | OCTET_LENGTH |
+-------------+-----------+------------+--------------+
| PetName     | varchar   |         60 |          240 |
+-------------+-----------+------------+--------------+

En este caso utilicé DATABASE() función para devolver el nombre de la base de datos actual. Alternativamente, podría usar el nombre de una base de datos específica.

El mysqlshow Utilidad

El mysqlshow La utilidad muestra la estructura de una base de datos MySQL (bases de datos, tablas, columnas e índices).

Esta utilidad se ejecuta por sí sola. En otras palabras, no ejecute esto desde MySQL. En su lugar, abra una nueva ventana de terminal/línea de comandos y ejecútela desde allí.

Ejemplo:

mysqlshow -u root PetHotel Pets PetName

Resultado:

+---------+-------------+--------------------+------+-----+---------+-------+---------------------------------+---------+
| Field   | Type        | Collation          | Null | Key | Default | Extra | Privileges                      | Comment |
+---------+-------------+--------------------+------+-----+---------+-------+---------------------------------+---------+
| PetName | varchar(60) | utf8mb4_0900_ai_ci | NO   |     |         |       | select,insert,update,references |         |
+---------+-------------+--------------------+------+-----+---------+-------+---------------------------------+---------+

En este ejemplo, PetHotel es el nombre de la base de datos, Pets es la tabla, y PetName es la columna que me interesa.

También proporcioné el nombre de usuario con el que conectarme. La utilidad acepta bastantes opciones. Consulte la documentación de MySQL para obtener más información.