Hier zijn vier manieren om het gegevenstype van een kolom in MySQL te krijgen.
De SHOW COLUMNS
Verklaring
De SHOW COLUMNS
statement geeft informatie weer over de kolommen in een bepaalde tabel of weergave. We kunnen de naam van de tabel of weergave doorgeven om informatie over de kolommen te retourneren:
SHOW COLUMNS FROM Pets;
Resultaat:
+-----------+-------------+------+-----+---------+-------+ | 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 | | +-----------+-------------+------+-----+---------+-------+
We kunnen het desgewenst beperken tot slechts één kolom:
SHOW COLUMNS FROM Pets
WHERE Field = 'PetName';
Resultaat:
+---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | PetName | varchar(60) | NO | | NULL | | +---------+-------------+------+-----+---------+-------+
De DESCRIBE
/ DESC
Verklaring
De DESCRIBE
statement is een snelkoppeling voor de SHOW COLUMNS FROM
syntaxis:
DESCRIBE Pets;
Resultaat:
+-----------+-------------+------+-----+---------+-------+ | 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 | | +-----------+-------------+------+-----+---------+-------+
Voeg gewoon de kolomnaam toe om het tot één kolom te beperken:
DESCRIBE Pets PetName;
Resultaat:
+---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | PetName | varchar(60) | NO | | NULL | | +---------+-------------+------+-----+---------+-------+
U kunt ook jokertekens gebruiken:
DESCRIBE Pets 'Pet%';
Resultaat:
+-----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+-------------+------+-----+---------+-------+ | PetId | int | NO | PRI | NULL | | | PetTypeId | int | NO | | NULL | | | PetName | varchar(60) | NO | | NULL | | +-----------+-------------+------+-----+---------+-------+
Je kunt het ook inkorten tot DESC
:
DESC Pets PetName;
Resultaat:
+---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | PetName | varchar(60) | NO | | NULL | | +---------+-------------+------+-----+---------+-------+
De information_schema.columns
Bekijk
De information_schema.columns
weergave bevat informatie over kolommen:
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';
Resultaat:
+-------------+-----------+------------+--------------+ | COLUMN_NAME | DATA_TYPE | MAX_LENGTH | OCTET_LENGTH | +-------------+-----------+------------+--------------+ | PetName | varchar | 60 | 240 | +-------------+-----------+------------+--------------+
In dit geval gebruikte ik de DATABASE()
functie om de naam van de huidige database te retourneren. U kunt ook de naam van een specifieke database gebruiken.
De mysqlshow
Hulpprogramma
De mysqlshow
hulpprogramma toont de structuur van een MySQL-database (databases, tabellen, kolommen en indexen).
Dit hulpprogramma wordt op zichzelf uitgevoerd. Met andere woorden, voer dit niet uit vanuit MySQL. Open in plaats daarvan een nieuw terminal-/opdrachtregelvenster en voer het vanaf daar uit.
Voorbeeld:
mysqlshow -u root PetHotel Pets PetName
Resultaat:
+---------+-------------+--------------------+------+-----+---------+-------+---------------------------------+---------+ | Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment | +---------+-------------+--------------------+------+-----+---------+-------+---------------------------------+---------+ | PetName | varchar(60) | utf8mb4_0900_ai_ci | NO | | | | select,insert,update,references | | +---------+-------------+--------------------+------+-----+---------+-------+---------------------------------+---------+
In dit voorbeeld PetHotel
is de naam van de database, Pets
is de tabel, en PetName
is de column waarin ik geïnteresseerd ben.
Ik heb ook de gebruikersnaam opgegeven waarmee verbinding moet worden gemaakt. Het hulpprogramma accepteert nogal wat opties. Zie de MySQL-documentatie voor meer informatie.