Ето четири начина да получите типа данни на колона в MySQL.
SHOW COLUMNS Изявление
SHOW COLUMNS операторът показва информация за колоните в дадена таблица или изглед. Можем да предадем името на таблицата или изгледа, за да върнем информация за нейните колони:
SHOW COLUMNS FROM Pets; Резултат:
+-----------+-------------+------+-----+---------+-------+ | 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 | | +-----------+-------------+------+-----+---------+-------+
Можем да го ограничим само до една колона, ако е необходимо:
SHOW COLUMNS FROM Pets
WHERE Field = 'PetName'; Резултат:
+---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | PetName | varchar(60) | NO | | NULL | | +---------+-------------+------+-----+---------+-------+
DESCRIBE / DESC Изявление
DESCRIBE оператор е пряк път за SHOW COLUMNS FROM синтаксис:
DESCRIBE Pets; Резултат:
+-----------+-------------+------+-----+---------+-------+ | 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 | | +-----------+-------------+------+-----+---------+-------+
Просто добавете името на колоната, за да я стесните до една колона:
DESCRIBE Pets PetName; Резултат:
+---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | PetName | varchar(60) | NO | | NULL | | +---------+-------------+------+-----+---------+-------+
Можете също да използвате заместващи знаци:
DESCRIBE Pets 'Pet%'; Резултат:
+-----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+-------------+------+-----+---------+-------+ | PetId | int | NO | PRI | NULL | | | PetTypeId | int | NO | | NULL | | | PetName | varchar(60) | NO | | NULL | | +-----------+-------------+------+-----+---------+-------+
Можете също да го съкратите до DESC :
DESC Pets PetName; Резултат:
+---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | PetName | varchar(60) | NO | | NULL | | +---------+-------------+------+-----+---------+-------+
information_schema.columns Преглед
information_schema.columns изгледът съдържа информация за колони:
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'; Резултат:
+-------------+-----------+------------+--------------+ | COLUMN_NAME | DATA_TYPE | MAX_LENGTH | OCTET_LENGTH | +-------------+-----------+------------+--------------+ | PetName | varchar | 60 | 240 | +-------------+-----------+------------+--------------+
В този случай използвах DATABASE() функция за връщане на името на текущата база данни. Като алтернатива можете да използвате името на конкретна база данни.
mysqlshow Помощна програма
mysqlshow помощната програма показва структурата на MySQL база данни (бази данни, таблици, колони и индекси).
Тази помощна програма се изпълнява самостоятелно. С други думи, не стартирайте това от MySQL. Вместо това отворете нов прозорец на терминал/команден ред и го стартирайте от там.
Пример:
mysqlshow -u root PetHotel Pets PetName Резултат:
+---------+-------------+--------------------+------+-----+---------+-------+---------------------------------+---------+ | Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment | +---------+-------------+--------------------+------+-----+---------+-------+---------------------------------+---------+ | PetName | varchar(60) | utf8mb4_0900_ai_ci | NO | | | | select,insert,update,references | | +---------+-------------+--------------------+------+-----+---------+-------+---------------------------------+---------+
В този пример PetHotel е името на базата данни, Pets е таблицата и PetName е колоната, която ме интересува.
Предоставих и потребителското име, с което да се свържа. Помощната програма приема доста опции. Вижте документацията на MySQL за повече информация.