Oto cztery sposoby uzyskania typu danych kolumny w MySQL.
SHOW COLUMNS Oświadczenie
SHOW COLUMNS zestawienie wyświetla informacje o kolumnach w danej tabeli lub widoku. Możemy przekazać nazwę tabeli lub widoku, aby zwrócić informacje o jej kolumnach:
SHOW COLUMNS FROM Pets; Wynik:
+-----------+-------------+------+-----+---------+-------+ | 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 | | +-----------+-------------+------+-----+---------+-------+
W razie potrzeby możemy zawęzić ją do jednej kolumny:
SHOW COLUMNS FROM Pets
WHERE Field = 'PetName'; Wynik:
+---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | PetName | varchar(60) | NO | | NULL | | +---------+-------------+------+-----+---------+-------+
DESCRIBE / DESC Oświadczenie
DESCRIBE instrukcja jest skrótem do SHOW COLUMNS FROM składnia:
DESCRIBE Pets; Wynik:
+-----------+-------------+------+-----+---------+-------+ | 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 | | +-----------+-------------+------+-----+---------+-------+
Wystarczy dołączyć nazwę kolumny, aby zawęzić ją do jednej kolumny:
DESCRIBE Pets PetName; Wynik:
+---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | PetName | varchar(60) | NO | | NULL | | +---------+-------------+------+-----+---------+-------+
Możesz także użyć symboli wieloznacznych:
DESCRIBE Pets 'Pet%'; Wynik:
+-----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+-------------+------+-----+---------+-------+ | PetId | int | NO | PRI | NULL | | | PetTypeId | int | NO | | NULL | | | PetName | varchar(60) | NO | | NULL | | +-----------+-------------+------+-----+---------+-------+
Możesz również skrócić go do DESC :
DESC Pets PetName; Wynik:
+---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | PetName | varchar(60) | NO | | NULL | | +---------+-------------+------+-----+---------+-------+
Kolumny information_schema.columns Zobacz
Kolumny information_schema.columns widok zawiera informacje o kolumnach:
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'; Wynik:
+-------------+-----------+------------+--------------+ | COLUMN_NAME | DATA_TYPE | MAX_LENGTH | OCTET_LENGTH | +-------------+-----------+------------+--------------+ | PetName | varchar | 60 | 240 | +-------------+-----------+------------+--------------+
W tym przypadku użyłem DATABASE() funkcja zwracająca nazwę aktualnej bazy danych. Możesz alternatywnie użyć nazwy określonej bazy danych.
mysqlshow Narzędzie
mysqlshow narzędzie pokazuje strukturę bazy danych MySQL (bazy danych, tabele, kolumny i indeksy).
To narzędzie działa samodzielnie. Innymi słowy, nie uruchamiaj tego z poziomu MySQL. Zamiast tego otwórz nowe okno terminala/wiersza poleceń i uruchom je stamtąd.
Przykład:
mysqlshow -u root PetHotel Pets PetName Wynik:
+---------+-------------+--------------------+------+-----+---------+-------+---------------------------------+---------+ | Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment | +---------+-------------+--------------------+------+-----+---------+-------+---------------------------------+---------+ | PetName | varchar(60) | utf8mb4_0900_ai_ci | NO | | | | select,insert,update,references | | +---------+-------------+--------------------+------+-----+---------+-------+---------------------------------+---------+
W tym przykładzie PetHotel to nazwa bazy danych, Pets to tabela, a PetName to kolumna, która mnie interesuje.
Podałem również nazwę użytkownika, z którą mam się połączyć. Narzędzie akceptuje kilka opcji. Więcej informacji znajdziesz w dokumentacji MySQL.