| Ordre
alphabétique |
|
| Par
catégories |
|
| Par
pays |
|
| Par
langue |
|
| PHP
- MYSQL |
|
| Outils
webmasters |
|
| Partenaires |
|
 |
| |
|
MYSQL Présentation des types
de chaînes |
Dans certains
cas, MySQL change le type d'une colonne
en un autre, lors de l'utilisation des
commandes CREATE TABLE et ALTER TABLE.
Une modification qui affecte de nombreux
types de colonnes est que depuis MySQL
version 4.1.1, les définitions
de colonnes peuvent inclure l'attribut
CHARACTER SET pour spécifier
le jeu de caractères, et, éventuellement,
la collation de la colonne. Cela s'applique
à CHAR, VARCHAR, les types TEXT
types, ENUM et SET. Par exemple :
CREATE TABLE nom_
table
(
c1 CHAR(20) CHARACTER SET utf8,
c2 CHAR(20) CHARACTER SET latin1 COLLATE
latin1_bin
);
Cette définition de table crée
une colonne appelée c1 dont le
jeu de caractères est utf8 avec
la collation par défaut de ce
jeu de caractères, et une colonne
appelée c2 qui a le jeu de caractères
latin1 et la collation binaire du jeu
de caractères. La collation binaire
n'est pas sensible à la casse.
Le tri et les comparaisons de colonnes
sont basés sur le jeu de caractères
de la colonne. Avant MySQL 4.1, les
tris et comparaisons étaient
fait avec la collation du jeu de caractères
du serveur. Pour les colonnes CHAR et
VARCHAR, vous pouvez déclarer
la colonne avec l'attribut BINARY pour
que le tri et la recherche soient insensibles
à la casse, utilisant le jeu
de caractère sous-jacent, plutôt
qu'un ordre lexical.
De plus, depuis la version 4.1, MySQL
interprète les spécifications
de taille d'une colonne en terme de
nombre de caractères. Les versions
précédentes interprétaient
les tailles en nombre d'octets.
[NATIONAL]
CHAR(M) [BINARY | ASCII | UNICODE]
Une chaîne de caractère
de taille fixe, toujours complété
à droite par des espaces pour
remplir l'espace de stockage. L'intervalle
de M va de 0 à 255 (1 à
255 pour les versions antérieure
à la version 3.23). Les espaces
terminaux sont supprimés lorsque
la valeur est relue. Les valeurs CHAR
sont triées et comparées
sans tenir compte de la casse, en utilisant
le jeu de caractères par défaut,
à moins que le mot clé
BINARY ne soit utilisé.
Note : les espaces terminaux sont supprimées
lorsque la valeur est stockée.
Depuis la version 4.1.0, si la valeur
M est supérieure à 255,
Une colonne de type TEXT est créée.
Ceci est une fonctionnalité de
compatibilité.
NATIONAL CHAR (sous son équivalent
raccourciNCHAR) est le nom SQL-99 pour
définir une colonne de type CHAR
qui utilise le jeu de caractère
par défaut. C'est le comportement
par défaut de MySQL.
CHAR est un raccourci pour CHARACTER.
Depuis la version 4.1.0, l'attribut
ASCII peut être spécifiée
avec, pour assigner le jeu de caractère
latin1 à une colonne de type
CHAR.
Depuis la version 4.1.1, l'attribut
UNICODE peut être spécifié
pour assigner le jeu de caractères
ucs2 à une colonne CHAR.
MySQL permet la création d'une
colonne de type CHAR(0). Ceci est principalement
utile dans de vieille application, qui
ont besoin de la colonne, mais n'ont
pas besoin de la valeur. C'est aussi
pratique pour avoir une colonne à
deux valeurs : un CHAR(0), qui n'est
pas défini comme NOT NULL, va
occuper un bit, et prendre deux valeurs
: NULL ou "". CHAR
Ceci est un synonyme de CHAR(1).
[NATIONAL]
VARCHAR(M) [BINARY]
Une chaîne de taille dynamique.
M représente la taille maximale
de la valeur dans une colonne. L'intervalle
de M va de 0 à 255 caractères
(1 à 255 avant MySQL 4.0.2).
Note : les espaces terminaux sont supprimées
lorsque la valeur est stockée
(cela diffère des spécifications
de SQL-99).
Depuis la version 4.1.0, si la valeur
M est supérieure à 255,
Une colonne de type TEXT est créée.
Ceci est une fonctionnalité de
compatibilité. Par exemple une
colonne VARCHAR(500) est convertie en
TEXT, et VARCHAR(200000) est convertie
en MEDIUMTEXT. Attention, cette conversion
affecte la suppression des espaces finaux...
VARCHAR est un raccourci pour CHARACTER
VARYING. TINYBLOB,
TINYTEXT
Une colonne TINYBLOB ou TINYTEXT peut
contenir au maximum 255 (2^8 - 1) caractères.
BLOB, TEXT
Une colonne TEXT ou BLOB peut contenir
au maximum 65535 (2^16 - 1) caractères.
MEDIUMBLOB,
MEDIUMTEXT
Une colonne MEDIUMTEXT ou MEDIUMBLOB
peut contenir au maximum 16777215 (2^24
- 1) caractères. LONGBLOB,
LONGTEXT
Une colonne LONGTEXT ou LONGBLOB peut
contenir au maximum 4294967295 ou 4
Go (2^32 - 1) caractères. Jusqu'en
version 3.23 le protocole client/serveur
et les tables MyISAM avait une limite
de 16 Mo par paquet de communication
pour une ligne de table. Depuis les
versions 4.x, la taille maximale d'un
LONGTEXT ou LONGBLOB dépend de
la taille maximal de paquet de communication
pour le protocole de communication,
et de la mémoire disponible.
ENUM('value1','value2',...)
Une énumération. Un objet
chaîne qui peut prendre une valeur,
choisie parmi une liste de valeurs 'valeur1',
'valeur2', ..., NULL ou la valeur spéciale
d'erreur "". Une valeur ENUM
peut avoir un maximum de 65535 valeurs
distinctes. SET('value1','value2',...)
Un ensemble. Un objet chaîne,
qui peut prendre zéro, une ou
plusieurs valeurs, choisies parmi une
liste de valeurs 'valeur1', 'valeur2',
... Une valeur SET peut avoir un maximum
de 64 membres
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 |
|
 |
| |
|
|