| Ordre
alphabétique |
|
| Par
catégories |
|
| Par
pays |
|
| Par
langue |
|
| PHP
- MYSQL |
|
| Outils
webmasters |
|
| Partenaires |
|
 |
| |
|
MYSQL Les types CHAR et VARCHAR |
Les types
CHAR et VARCHAR sont similaires, mais
diffèrent dans la manière
dont ils sont stockés et récupérés.
La longueur d'une colonne CHAR est fixée
à la longueur que vous avez défini
lors de la création de la table.
La longueur peut être n'importe
quelle valeur entre 1 et 255. (Dans
la version 3.23 de MySQL, la longueur
est comprise entre 0 et 255.) Quand
une valeur CHAR est enregistrée,
elle est complété à
droite avec des espaces jusqu'à
atteindre la valeur fixée. Quand
une valeur de CHAR est lue, les espaces
en trop sont retirés.
Les valeurs contenues dans les colonnes
de type VARCHAR sont de tailles variables.
Vous pouvez déclarer une colonne
VARCHAR pour que sa taille soit comprise
entre 1 et 255, exactement comme pour
les colonnes CHAR. Par contre, contrairement
à CHAR, les valeurs de VARCHAR
sont stockées en utilisant autant
de caractères que nécessaire,
plus un octet pour mémoriser
la longueur. Les valeurs ne sont pas
complétées. Au contraire,
les espaces finaux sont supprimés
avant stockage (ce qui ne fait pas partie
des spécifications ANSI SQL).
Si vous assignez une chaîne de
caractères qui dépasse
la capacité de la colonne CHAR
ou VARCHAR, celle ci est tronquée
jusqu'à la taille maximale du
champ.
Le tableau suivant illustre les différences
entre les deux types de colonnes en
montrant les différences entre
l'enregistrement dans une colonne CHAR(4)
ou VARCHAR(4) :
| Valeur |
CHAR(4)
|
Espace
requis |
VARCHAR(4) |
Espace
requis |
| '' |
' ' |
4 octets |
'' |
1 octet |
| 'ab' |
'ab ' |
4 octets |
'ab' |
3 octets |
| 'abcd' |
'abcd' |
4 octets |
'abcd' |
5 octets |
| 'abcdefgh' |
'abcd' |
4 octets |
'abcd' |
5 octets |
Les valeurs lues dans les colonnes de
type CHAR(4) et VARCHAR(4) seront les
mêmes dans tous les cas, car les
espaces finaux sont retirés des
valeurs issues de colonnes de type CHAR
lors de la lecture.
Les valeurs dans les colonnes CHAR et
VARCHAR sont classées et comparées
sans tenir compte de la casse, à
moins que l'attribut BINARY n'ai été
spécifié lors de la création
de la table. L'attribut BINARY signifie
que les valeurs sont classées
et triées en tenant compte de
la casse, suivant l'ordre des caractères
ASCII de la machine ou est installé
le serveur MySQL. BINARY n'affecte pas
les méthodes de lecture et de
stockage des valeurs.
L'attribut BINARY se propage dans une
expression : il suffit qu'une seule
colonne, utilisée dans une expression,
ait l'attribut BINARY pour que toute
l'expression ne tienne plus compte de
la casse.
MySQL peut changer automatiquement le
type d'une colonne CHAR ou VARCHAR lors
de la création de la table.
MySQL Reference Manual that can
be found at dev.mysql.com. The original
Reference Manual is in English, and
this translation is not necessarily
as up to date as the English version.
|
|
|
|
| |
|
| Menu |
|
| Ressources |
|
| Gifs
animés |
|
| Cliparts |
| |
| Services
divers |
|
 |
| |
|
|