Partie I
SQL de base
26
© Éditions Eyrolles
Types des colonnes
Pour décrire les colonnes d’une table, MySQL fournit les types prédéfinis suivants (built-in
datatypes) :
q
caractères (CHAR, VARCHAR, TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT) ;
q
valeurs numériques (TINYINT, SMALLINT, MEDIUMINT, INT, INTEGER, BIGINT,
FLOAT, DOUBLE, REAL, DECIMAL, NUMERIC, et BIT) ;
q
date/heure (DATE, DATETIME, TIME, YEAR, TIMESTAMP) ;
q
données binaires (BLOB, TINYBLOB, MEDIUMBLOB, LONGBLOB) ;
q
énumérations (ENUM, SET).
Détaillons à présent ces types. Nous verrons comment utiliser les plus courants au chapitre 2
et les autres au fil de l’ouvrage.
Caractères
Le type CHAR permet de stocker des chaînes de caractères de taille fixe. Les valeurs sont
stockées en ajoutant, s’il le faut, des espaces (trailing spaces) à concurrence de la taille
définie. Ces espaces ne seront pas considérés après extraction à partir de la table.
Le type VARCHAR permet de stocker des chaînes de caractères de taille variable. Les valeurs
sont stockées sans l’ajout d’espaces à concurrence de la taille définie. Depuis la version 5.0.3
de MySQL, les éventuels espaces de fin de chaîne seront stockés et extraits en conformité
avec la norme SQL. Des caractères Unicode (méthode de codage universelle qui fournit une
valeur de code unique pour chaque caractère quels que soient la plate-forme, le programme ou
la langue) peuvent aussi être stockés.
Tableau 1-4 Types de données caractères
Type
Description
Commentaire pour une colonne
CHAR(n) [BINARY | ASCII
| UNICODE]
Chaîne fixe de n
octets ou caractères.
Taille fixe (maximum de 255 caractères).
VARCHAR(n) [BINARY]
Chaîne variable de n
caractères ou octets.
Taille variable (maximum de
65 535 caractères).
BINARY(n)
Chaîne fixe de n
octets.
Taille fixe (maximum de 255 octets).
VARBINARY(n)
Chaîne variable de n
octets.
Taille variable (maximum de 255 octets).
TINYTEXT(n)
Flot de n octets.
Taille fixe (maximum de 255 octets).
TEXT(n)
Flot de n octets.
Taille fixe (maximum de 65 535 octets).
MEDIUMTEXT(n)
Flot de n octets.
Taille fixe (maximum de 16 mégaoctets).
LONGTEXT(n)
Flot de n octets.
Taille fixe (maximum de 4,29 gigaoctets).
SQL de base
26
© Éditions Eyrolles
Types des colonnes
Pour décrire les colonnes d’une table, MySQL fournit les types prédéfinis suivants (built-in
datatypes) :
q
caractères (CHAR, VARCHAR, TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT) ;
q
valeurs numériques (TINYINT, SMALLINT, MEDIUMINT, INT, INTEGER, BIGINT,
FLOAT, DOUBLE, REAL, DECIMAL, NUMERIC, et BIT) ;
q
date/heure (DATE, DATETIME, TIME, YEAR, TIMESTAMP) ;
q
données binaires (BLOB, TINYBLOB, MEDIUMBLOB, LONGBLOB) ;
q
énumérations (ENUM, SET).
Détaillons à présent ces types. Nous verrons comment utiliser les plus courants au chapitre 2
et les autres au fil de l’ouvrage.
Caractères
Le type CHAR permet de stocker des chaînes de caractères de taille fixe. Les valeurs sont
stockées en ajoutant, s’il le faut, des espaces (trailing spaces) à concurrence de la taille
définie. Ces espaces ne seront pas considérés après extraction à partir de la table.
Le type VARCHAR permet de stocker des chaînes de caractères de taille variable. Les valeurs
sont stockées sans l’ajout d’espaces à concurrence de la taille définie. Depuis la version 5.0.3
de MySQL, les éventuels espaces de fin de chaîne seront stockés et extraits en conformité
avec la norme SQL. Des caractères Unicode (méthode de codage universelle qui fournit une
valeur de code unique pour chaque caractère quels que soient la plate-forme, le programme ou
la langue) peuvent aussi être stockés.
Tableau 1-4 Types de données caractères
Type
Description
Commentaire pour une colonne
CHAR(n) [BINARY | ASCII
| UNICODE]
Chaîne fixe de n
octets ou caractères.
Taille fixe (maximum de 255 caractères).
VARCHAR(n) [BINARY]
Chaîne variable de n
caractères ou octets.
Taille variable (maximum de
65 535 caractères).
BINARY(n)
Chaîne fixe de n
octets.
Taille fixe (maximum de 255 octets).
VARBINARY(n)
Chaîne variable de n
octets.
Taille variable (maximum de 255 octets).
TINYTEXT(n)
Flot de n octets.
Taille fixe (maximum de 255 octets).
TEXT(n)
Flot de n octets.
Taille fixe (maximum de 65 535 octets).
MEDIUMTEXT(n)
Flot de n octets.
Taille fixe (maximum de 16 mégaoctets).
LONGTEXT(n)
Flot de n octets.
Taille fixe (maximum de 4,29 gigaoctets).
