Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

4 maneiras de verificar o tipo de dados de uma coluna no MySQL


Aqui estão quatro maneiras de obter o tipo de dados de uma coluna no MySQL.

O SHOW COLUMNS Declaração


O SHOW COLUMNS instrução exibe informações sobre as colunas em uma determinada tabela ou exibição. Podemos passar o nome da tabela ou view para retornar informações em suas colunas:
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 reduzi-lo a apenas uma coluna, se necessário:
SHOW COLUMNS FROM Pets
WHERE Field = 'PetName';

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

O DESCRIBE / DESC Declaração


O DESCRIBE instrução é um atalho para SHOW COLUMNS FROM sintaxe:
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    |       |
+-----------+-------------+------+-----+---------+-------+

Basta anexar o nome da coluna para reduzi-la a uma coluna:
DESCRIBE Pets PetName;

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

Você também pode usar curingas:
DESCRIBE Pets 'Pet%';

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

Você também pode encurtá-lo para DESC :
DESC Pets PetName;

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

O information_schema.columns Visualizar


O information_schema.columns view contém informações sobre colunas:
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 |
+-------------+-----------+------------+--------------+

Neste caso eu usei o DATABASE() função para retornar o nome do banco de dados atual. Você também pode usar o nome de um banco de dados específico.

O mysqlshow Utilitário


O mysqlshow utilitário mostra a estrutura de um banco de dados MySQL (bancos de dados, tabelas, colunas e índices).

Este utilitário é executado por conta própria. Em outras palavras, não execute isso de dentro do MySQL. Em vez disso, abra uma nova janela de terminal/linha de comando e execute-a a partir daí.

Exemplo:
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 |         |
+---------+-------------+--------------------+------+-----+---------+-------+---------------------------------+---------+

Neste exemplo, PetHotel é o nome do banco de dados, Pets é a tabela e PetName é a coluna que me interessa.

Eu também forneci o nome de usuário para o qual se conectar. O utilitário aceita algumas opções. Consulte a documentação do MySQL para obter mais informações.