6.1 Structure du langage
6 Référence du langage MySQL
Manuel de Référence MySQL 4.1 : Version Française
. Literals: Comment écrire les chaînes et les nombres . Noms de bases, tables, index, colonnes et alias ->Sensibilité à la casse pour les noms . Variables utilisateur . Variables système . Syntaxe des commentaires . Est-ce que MySQL est sensible aux mots réservés ?
|
6.1.3 Sensibilité à la casse pour les noms
En MySQL, les bases et les tables correspondent à des dossiers et des fichiers.
Par conséquent, la sensibilité à la casse du système détérminera la sensisbilité
à la casse des noms de bases de données et tables. Cela signifie que les noms sont
insensibles à la casse sous Windows, et sensibles sous la plupart des variétés Unix
(Mac OS X étant une exception).
Extensions MySQL à l'ANSI SQL92 .
Note
: Même si les noms ne sont pas sensibles à la casse sous Windows, vous
ne devez pas vous référer à une entité en utilisant différentes casse dans la même requête.
La requête suivante ne fonctionnera pas car elle se référe à une table avec
ma_table
et
MA_TABLE
:
mysql> SELECT * FROM ma_table WHERE MA_TABLE.col=1;
|
Les noms de colonnes et d'alias sont insensibles à la casse dans tous les cas.Les alias sur tables sont sensibles à la casse. La requête suivante ne marchera
pas car elle se réfère à
a
et
A
:
mysql> SELECT nom_de_colonne FROM nom_de_table AS a -> WHERE a.nom_de_colonne = 1 OR A.nom_de_colonne = 2;
|
Si vous avez du mal à vous souvenir de la casse des noms de bases et de tables, adoptez
une convention, comme toujours créer les bases et les tables en utilisant des minuscules.Un moyen d'éviter ce problème est de démarrer
mysqld
avec
-O
lower_case_table_names=1
. Par défaut, cette option vaut 1 sur Windows et 0 sur
Unix.
Si
lower_case_table_names
est à 1 MySQL convertira tout les noms de tables en minuscules
lors des sauvegardes et des récupérations. (A partir de la version 4.0.2, cette opération s'applique
aussi aux noms de bases de données.).
Notez que si vous changez cette option, vous devrez repasser vos anciens noms de tables en minuscules
avant de démarrer
mysqld
.
Si vous déplacez les fichiers
MyISAM
d'un Windows à une architecture *nix,
vous aurez peut être besoin d'utiliser l'utilitaire
mysql_fix_extensions
pour
corriger la casse des extensions des fichiers dans chaque répertoire spécifique à la
base de données (minuscules
.frm
, majuscules
.MYI
et
.MYD
).
mysql_fix_extensions
peut être trouvé dans le sous-répertoire
script
.
|