Mysql
 sql >> Base de données >  >> RDS >> Mysql

4 façons de vérifier le type de données d'une colonne dans MySQL

Voici quatre façons d'obtenir le type de données d'une colonne dans MySQL.

Le SHOW COLUMNS Déclaration

Le SHOW COLUMNS L'instruction affiche des informations sur les colonnes d'une table ou d'une vue donnée. On peut passer le nom de la table ou de la vue pour retourner des informations sur ses colonnes :

SHOW COLUMNS FROM Pets;

Résultat :

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

Nous pouvons le réduire à une seule colonne si nécessaire :

SHOW COLUMNS FROM Pets
WHERE Field = 'PetName';

Résultat :

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

Le DESCRIBE / DESC Déclaration

Le DESCRIBE l'instruction est un raccourci pour SHOW COLUMNS FROM syntaxe :

DESCRIBE Pets;

Résultat :

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

Ajoutez simplement le nom de la colonne pour la réduire à une seule colonne :

DESCRIBE Pets PetName;

Résultat :

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

Vous pouvez également utiliser des caractères génériques :

DESCRIBE Pets 'Pet%';

Résultat :

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

Vous pouvez également le raccourcir en DESC :

DESC Pets PetName;

Résultat :

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

Les information_schema.columns Afficher

Le information_schema.columns la vue contient des informations sur les colonnes :

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

Résultat :

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

Dans ce cas, j'ai utilisé le DATABASE() fonction pour renvoyer le nom de la base de données courante. Vous pouvez également utiliser le nom d'une base de données spécifique.

Le mysqlshow Utilitaire

Le mysqlshow montre la structure d'une base de données MySQL (bases de données, tables, colonnes et index).

Cet utilitaire est exécuté tout seul. En d'autres termes, ne l'exécutez pas depuis MySQL. Au lieu de cela, ouvrez une nouvelle fenêtre de terminal/ligne de commande et exécutez-la à partir de là.

Exemple :

mysqlshow -u root PetHotel Pets PetName

Résultat :

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

Dans cet exemple, PetHotel est le nom de la base de données, Pets est la table, et PetName est la colonne qui m'intéresse.

J'ai également fourni le nom d'utilisateur avec lequel se connecter. L'utilitaire accepte un certain nombre d'options. Consultez la documentation MySQL pour plus d'informations.