sql >> Database >  >> RDS >> Mysql

4 manieren om het gegevenstype van een kolom in MySQL te controleren

Hier zijn vier manieren om het gegevenstype van een kolom in MySQL te krijgen.

De SHOW COLUMNS Verklaring

De SHOW COLUMNS statement geeft informatie weer over de kolommen in een bepaalde tabel of weergave. We kunnen de naam van de tabel of weergave doorgeven om informatie over de kolommen te retourneren:

SHOW COLUMNS FROM Pets;

Resultaat:

+-----------+-------------+------+-----+---------+-------+
| 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    |       |
+-----------+-------------+------+-----+---------+-------+

We kunnen het desgewenst beperken tot slechts één kolom:

SHOW COLUMNS FROM Pets
WHERE Field = 'PetName';

Resultaat:

+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| PetName | varchar(60) | NO   |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+

De DESCRIBE / DESC Verklaring

De DESCRIBE statement is een snelkoppeling voor de SHOW COLUMNS FROM syntaxis:

DESCRIBE Pets;

Resultaat:

+-----------+-------------+------+-----+---------+-------+
| 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    |       |
+-----------+-------------+------+-----+---------+-------+

Voeg gewoon de kolomnaam toe om het tot één kolom te beperken:

DESCRIBE Pets PetName;

Resultaat:

+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| PetName | varchar(60) | NO   |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+

U kunt ook jokertekens gebruiken:

DESCRIBE Pets 'Pet%';

Resultaat:

+-----------+-------------+------+-----+---------+-------+
| Field     | Type        | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| PetId     | int         | NO   | PRI | NULL    |       |
| PetTypeId | int         | NO   |     | NULL    |       |
| PetName   | varchar(60) | NO   |     | NULL    |       |
+-----------+-------------+------+-----+---------+-------+

Je kunt het ook inkorten tot DESC :

DESC Pets PetName;

Resultaat:

+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| PetName | varchar(60) | NO   |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+

De information_schema.columns Bekijk

De information_schema.columns weergave bevat informatie over kolommen:

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';

Resultaat:

+-------------+-----------+------------+--------------+
| COLUMN_NAME | DATA_TYPE | MAX_LENGTH | OCTET_LENGTH |
+-------------+-----------+------------+--------------+
| PetName     | varchar   |         60 |          240 |
+-------------+-----------+------------+--------------+

In dit geval gebruikte ik de DATABASE() functie om de naam van de huidige database te retourneren. U kunt ook de naam van een specifieke database gebruiken.

De mysqlshow Hulpprogramma

De mysqlshow hulpprogramma toont de structuur van een MySQL-database (databases, tabellen, kolommen en indexen).

Dit hulpprogramma wordt op zichzelf uitgevoerd. Met andere woorden, voer dit niet uit vanuit MySQL. Open in plaats daarvan een nieuw terminal-/opdrachtregelvenster en voer het vanaf daar uit.

Voorbeeld:

mysqlshow -u root PetHotel Pets PetName

Resultaat:

+---------+-------------+--------------------+------+-----+---------+-------+---------------------------------+---------+
| Field   | Type        | Collation          | Null | Key | Default | Extra | Privileges                      | Comment |
+---------+-------------+--------------------+------+-----+---------+-------+---------------------------------+---------+
| PetName | varchar(60) | utf8mb4_0900_ai_ci | NO   |     |         |       | select,insert,update,references |         |
+---------+-------------+--------------------+------+-----+---------+-------+---------------------------------+---------+

In dit voorbeeld PetHotel is de naam van de database, Pets is de tabel, en PetName is de column waarin ik geïnteresseerd ben.

Ik heb ook de gebruikersnaam opgegeven waarmee verbinding moet worden gemaakt. Het hulpprogramma accepteert nogal wat opties. Zie de MySQL-documentatie voor meer informatie.


  1. Leer elementaire SQL-query's met MySQL

  2. Verschillen tussen SQL- en NoSQL-databases - MySQL- en MongoDB-vergelijking

  3. Hoe kan ik mySQL Replace() gebruiken om strings in meerdere records te vervangen?

  4. Hoe krijg ik een kolom met opeenvolgende, oplopende nummers, zonder dat er nummers ontbreken?