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

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

MariaDB fournit plusieurs façons de renvoyer le type de données d'une colonne. Voici quatre façons d'obtenir le type de données d'une colonne donnée dans MariaDB.

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

Résultat :

+--------------------+---------------+------+-----+---------+-------+
| Field              | Type          | Null | Key | Default | Extra |
+--------------------+---------------+------+-----+---------+-------+
| ProductId          | int(11)       | NO   | PRI | NULL    |       |
| VendorId           | int(11)       | NO   | MUL | NULL    |       |
| ProductName        | varchar(255)  | NO   |     | NULL    |       |
| ProductPrice       | decimal(8,2)  | NO   |     | NULL    |       |
| ProductDescription | varchar(1000) | YES  |     | NULL    |       |
+--------------------+---------------+------+-----+---------+-------+

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

SHOW COLUMNS FROM Products
WHERE Field = 'ProductName';

Résultat :

+-------------+--------------+------+-----+---------+-------+
| Field       | Type         | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| ProductName | varchar(255) | NO   |     | NULL    |       |
+-------------+--------------+------+-----+---------+-------+

Le DESCRIBE / DESC Déclaration

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

DESCRIBE Products;

Résultat :

+--------------------+---------------+------+-----+---------+-------+
| Field              | Type          | Null | Key | Default | Extra |
+--------------------+---------------+------+-----+---------+-------+
| ProductId          | int(11)       | NO   | PRI | NULL    |       |
| VendorId           | int(11)       | NO   | MUL | NULL    |       |
| ProductName        | varchar(255)  | NO   |     | NULL    |       |
| ProductPrice       | decimal(8,2)  | NO   |     | NULL    |       |
| ProductDescription | varchar(1000) | YES  |     | NULL    |       |
+--------------------+---------------+------+-----+---------+-------+

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

DESCRIBE Products ProductName;

Résultat :

+-------------+--------------+------+-----+---------+-------+
| Field       | Type         | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| ProductName | varchar(255) | NO   |     | NULL    |       |
+-------------+--------------+------+-----+---------+-------+

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

DESCRIBE Products 'Product%';

Résultat :

+--------------------+---------------+------+-----+---------+-------+
| Field              | Type          | Null | Key | Default | Extra |
+--------------------+---------------+------+-----+---------+-------+
| ProductId          | int(11)       | NO   | PRI | NULL    |       |
| ProductName        | varchar(255)  | NO   |     | NULL    |       |
| ProductPrice       | decimal(8,2)  | NO   |     | NULL    |       |
| ProductDescription | varchar(1000) | YES  |     | NULL    |       |
+--------------------+---------------+------+-----+---------+-------+

Vous pouvez également le raccourcir en DESC :

DESC Products ProductName;

Résultat :

+-------------+--------------+------+-----+---------+-------+
| Field       | Type         | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| ProductName | varchar(255) | 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 = 'Products' 
AND COLUMN_NAME = 'ProductName';

Résultat :

+-------------+-----------+------------+--------------+
| COLUMN_NAME | DATA_TYPE | MAX_LENGTH | OCTET_LENGTH |
+-------------+-----------+------------+--------------+
| ProductName | varchar   |        255 |         1020 |
+-------------+-----------+------------+--------------+

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 mariadb-show Utilitaire

Le mariadb-show L'utilitaire affiche la structure d'une base de données MariaDB (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 MariaDB. Au lieu de cela, ouvrez une nouvelle fenêtre de terminal/ligne de commande et exécutez-la à partir de là.

Exemple :

mariadb-show KrankyKranes Products ProductName

Résultat :

+-------------+--------------+--------------------+------+-----+---------+-------+---------------------------------+---------+
| Field       | Type         | Collation          | Null | Key | Default | Extra | Privileges                      | Comment |
+-------------+--------------+--------------------+------+-----+---------+-------+---------------------------------+---------+
| ProductName | varchar(255) | utf8mb4_general_ci | NO   |     |         |       | select,insert,update,references |         |
+-------------+--------------+--------------------+------+-----+---------+-------+---------------------------------+---------+

Dans cet exemple, KrankyKranes est le nom de la base de données, Products est la table, et ProductName est la colonne qui m'intéresse.

Cet utilitaire est également accessible en utilisant mysqlshow lieu de mariadb-show . L'utilitaire accepte un certain nombre d'options. Consultez la documentation de MariaDB pour plus d'informations.