© Éditions Eyrolles
197
chapitre n° 5
Contrôle des données
Remarquez que MySQL utilise :
q
COLUMN_NAME pour renseigner le nom de chaque colonne.
q
DATA_TYPE pour donner le typeMySQL.
q
ORDINAL_POSITION pour renseigner l’ordre des colonnes dans la table (utilisé en cas de
SELECT *).
q
COLUMN_DEFAULT pour préciser la valeur par défaut de chaque colonne.
q
COLUMN_KEY pour donner la composition de la clé primaire.
Extraction des colonnes caractères
La requête suivante décrit en détail les colonnes chaînes de caractères de la table Installer.
SELECT
AS 'Taille max',
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'bdsoutou' AND TABLE_NAME='Installer'
AND NUMERIC_PRECISION IS NULL
AND DATA_TYPE NOT IN ('timestamp','time','date');
+-------------+-----------+------------+-------------+
| COLUMN_NAME | DATA_TYPE | Taille max | IS_NULLABLE |
+-------------+-----------+------------+-------------+
| nPoste
| varchar
|
7 | YES
|
| nLog
| varchar
|
5 | YES
|
+-------------+-----------+------------+-------------+
Vous pouvez noter que MySQL utilise :
q
IS_NULLABLE pour renseigner le fait qu’une colonne puisse être nulle.
q
CHARACTER_OCTET_LENGTH pour renseigner la taille des chaînes de caractères pour
chaque colonne.
Extraction des colonnes numériques
La requête suivante détaille les colonnes numériques de la table Installer.
SELECT COLUMN_NAME,DATA_TYPE,
AS 'Taille max',
AS 'Précision'
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'bdsoutou' AND TABLE_NAME='Installer'
AND CHARACTER_MAXIMUM_LENGTH IS NULL
AND DATA_TYPE NOT IN ('timestamp','time','date');
+-------------+-----------+------------+-----------+
| COLUMN_NAME | DATA_TYPE | Taille max | Précision |
+-------------+-----------+------------+-----------+
| numIns
| int
|
10 |
0 |
+-------------+-----------+------------+-----------+
COLUMN_NAME,DATA_TYPE,CHARACTER_OCTET_LENGTH
IS_NULLABLE
NUMERIC_PRECISION
NUMERIC_SCALE
Précédent

- 219/418

Suivant