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.