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.