Här är fyra sätt att få datatypen för en kolumn i MySQL.
SHOW COLUMNS
Uttalande
SHOW COLUMNS
uttalande visar information om kolumnerna i en given tabell eller vy. Vi kan skicka namnet på tabellen eller visa för att returnera information om dess kolumner:
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 begränsa det till bara en kolumn om det behövs:
SHOW COLUMNS FROM Pets
WHERE Field = 'PetName';
Resultat:
+---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | PetName | varchar(60) | NO | | NULL | | +---------+-------------+------+-----+---------+-------+
DESCRIBE
/ DESC
Uttalande
DESCRIBE
statement är en genväg till SHOW COLUMNS FROM
syntax:
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 | | +-----------+-------------+------+-----+---------+-------+
Lägg bara till kolumnnamnet för att begränsa det till en kolumn:
DESCRIBE Pets PetName;
Resultat:
+---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | PetName | varchar(60) | NO | | NULL | | +---------+-------------+------+-----+---------+-------+
Du kan också använda jokertecken:
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 också förkorta den till DESC
:
DESC Pets PetName;
Resultat:
+---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | PetName | varchar(60) | NO | | NULL | | +---------+-------------+------+-----+---------+-------+
information_schema.columns
Visa
information_schema.columns
vyn innehåller information om kolumner:
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 det här fallet använde jag DATABASE()
funktion för att returnera namnet på den aktuella databasen. Du kan alternativt använda namnet på en specifik databas.
mysqlshow
Verktyg
mysqlshow
verktyget visar strukturen för en MySQL-databas (databaser, tabeller, kolumner och index).
Detta verktyg körs på egen hand. Med andra ord, kör inte detta inifrån MySQL. Öppna istället ett nytt terminal-/kommandoradsfönster och kör det därifrån.
Exempel:
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 det här exemplet, PetHotel
är namnet på databasen, Pets
är tabellen och PetName
är kolumnen som jag är intresserad av.
Jag angav också användarnamnet som jag skulle ansluta till. Verktyget accepterar en hel del alternativ. Se MySQL-dokumentationen för mer information.