Her er fire måder at få datatypen for en kolonne i MySQL.
SHOW COLUMNS Erklæring
SHOW COLUMNS sætning viser information om kolonnerne i en given tabel eller visning. Vi kan videregive navnet på tabellen eller visningen for at returnere oplysninger om dens kolonner:
SHOW COLUMNS FROM Pets; Resultat:
+-----------+-------------+------+-----+---------+-------+ | 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 | | +-----------+-------------+------+-----+---------+-------+
Vi kan indsnævre det til kun én kolonne, hvis det kræves:
SHOW COLUMNS FROM Pets
WHERE Field = 'PetName'; Resultat:
+---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | PetName | varchar(60) | NO | | NULL | | +---------+-------------+------+-----+---------+-------+
DESCRIBE / DESC Erklæring
DESCRIBE statement er en genvej til SHOW COLUMNS FROM syntaks:
DESCRIBE Pets; Resultat:
+-----------+-------------+------+-----+---------+-------+ | 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 | | +-----------+-------------+------+-----+---------+-------+
Du skal blot tilføje kolonnenavnet for at indsnævre det til én kolonne:
DESCRIBE Pets PetName; Resultat:
+---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | PetName | varchar(60) | NO | | NULL | | +---------+-------------+------+-----+---------+-------+
Du kan også bruge jokertegn:
DESCRIBE Pets 'Pet%'; Resultat:
+-----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+-------------+------+-----+---------+-------+ | PetId | int | NO | PRI | NULL | | | PetTypeId | int | NO | | NULL | | | PetName | varchar(60) | NO | | NULL | | +-----------+-------------+------+-----+---------+-------+
Du kan også forkorte den til DESC :
DESC Pets PetName; Resultat:
+---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | PetName | varchar(60) | NO | | NULL | | +---------+-------------+------+-----+---------+-------+
information_schema.columns Vis
information_schema.columns visningen indeholder oplysninger om kolonner:
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'; Resultat:
+-------------+-----------+------------+--------------+ | COLUMN_NAME | DATA_TYPE | MAX_LENGTH | OCTET_LENGTH | +-------------+-----------+------------+--------------+ | PetName | varchar | 60 | 240 | +-------------+-----------+------------+--------------+
I dette tilfælde brugte jeg DATABASE() funktion for at returnere navnet på den aktuelle database. Du kan alternativt bruge navnet på en specifik database.
mysqlshow Hjælpeprogram
mysqlshow værktøj viser strukturen af en MySQL-database (databaser, tabeller, kolonner og indekser).
Dette hjælpeprogram køres på egen hånd. Med andre ord, kør ikke dette inde fra MySQL. Åbn i stedet et nyt terminal-/kommandolinjevindue og kør det derfra.
Eksempel:
mysqlshow -u root PetHotel Pets PetName Resultat:
+---------+-------------+--------------------+------+-----+---------+-------+---------------------------------+---------+ | Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment | +---------+-------------+--------------------+------+-----+---------+-------+---------------------------------+---------+ | PetName | varchar(60) | utf8mb4_0900_ai_ci | NO | | | | select,insert,update,references | | +---------+-------------+--------------------+------+-----+---------+-------+---------------------------------+---------+
I dette eksempel, PetHotel er navnet på databasen, Pets er tabellen, og PetName er den kolonne, jeg er interesseret i.
Jeg har også angivet det brugernavn, som jeg skal oprette forbindelse til. Værktøjet accepterer en hel del muligheder. Se MySQL-dokumentationen for mere information.