Zde jsou čtyři způsoby, jak získat datový typ sloupce v MySQL.
Položka SHOW COLUMNS
Prohlášení
SHOW COLUMNS
zobrazí informace o sloupcích v dané tabulce nebo pohledu. Můžeme předat název tabulky nebo pohledu, abychom vrátili informace o jeho sloupcích:
SHOW COLUMNS FROM Pets;
Výsledek:
+-----------+-------------+------+-----+---------+-------+ | 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 | | +-----------+-------------+------+-----+---------+-------+
V případě potřeby jej můžeme zúžit pouze na jeden sloupec:
SHOW COLUMNS FROM Pets
WHERE Field = 'PetName';
Výsledek:
+---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | PetName | varchar(60) | NO | | NULL | | +---------+-------------+------+-----+---------+-------+
Položka DESCRIBE
/ DESC
Prohlášení
DESCRIBE
příkaz je zkratka pro SHOW COLUMNS FROM
syntaxe:
DESCRIBE Pets;
Výsledek:
+-----------+-------------+------+-----+---------+-------+ | 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 | | +-----------+-------------+------+-----+---------+-------+
Stačí připojit název sloupce a zúžit jej na jeden sloupec:
DESCRIBE Pets PetName;
Výsledek:
+---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | PetName | varchar(60) | NO | | NULL | | +---------+-------------+------+-----+---------+-------+
Můžete také použít zástupné znaky:
DESCRIBE Pets 'Pet%';
Výsledek:
+-----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+-------------+------+-----+---------+-------+ | PetId | int | NO | PRI | NULL | | | PetTypeId | int | NO | | NULL | | | PetName | varchar(60) | NO | | NULL | | +-----------+-------------+------+-----+---------+-------+
Můžete jej také zkrátit na DESC
:
DESC Pets PetName;
Výsledek:
+---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | PetName | varchar(60) | NO | | NULL | | +---------+-------------+------+-----+---------+-------+
information_schema.columns
Zobrazit
information_schema.columns
zobrazení obsahuje informace o sloupcích:
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';
Výsledek:
+-------------+-----------+------------+--------------+ | COLUMN_NAME | DATA_TYPE | MAX_LENGTH | OCTET_LENGTH | +-------------+-----------+------------+--------------+ | PetName | varchar | 60 | 240 | +-------------+-----------+------------+--------------+
V tomto případě jsem použil DATABASE()
funkce vrátit název aktuální databáze. Alternativně můžete použít název konkrétní databáze.
mysqlshow
Utility
mysqlshow
ukazuje strukturu databáze MySQL (databáze, tabulky, sloupce a indexy).
Tento nástroj se spouští samostatně. Jinými slovy, nespouštějte to z MySQL. Místo toho otevřete nové okno terminálu/příkazového řádku a spusťte jej odtud.
Příklad:
mysqlshow -u root PetHotel Pets PetName
Výsledek:
+---------+-------------+--------------------+------+-----+---------+-------+---------------------------------+---------+ | Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment | +---------+-------------+--------------------+------+-----+---------+-------+---------------------------------+---------+ | PetName | varchar(60) | utf8mb4_0900_ai_ci | NO | | | | select,insert,update,references | | +---------+-------------+--------------------+------+-----+---------+-------+---------------------------------+---------+
V tomto příkladu PetHotel
je název databáze Pets
je tabulka a PetName
je sloupec, který mě zajímá.
Také jsem uvedl uživatelské jméno, se kterým se mám spojit. Nástroj přijímá několik možností. Další informace naleznete v dokumentaci k MySQL.