Ето четири начина да получите типа данни на колона в 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 за повече информация.