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.