sql >> Databáze >  >> RDS >> Mysql

4 způsoby, jak zkontrolovat datový typ sloupce v MySQL

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.


  1. Jak získat včerejší datum v T-SQL

  2. Jak vytvořit počítané pole v dotazu Microsoft Access

  3. přístup odepřen uživateli @ 'localhost' do databáze ''

  4. Nelze najít klientskou knihovnu PostgreSQL (libpq)