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.