Services webmasters
Partenaires
Jeux concours gratuits
 
Literals: Comment écrire les chaînes et les nombres
<<<
Noms de bases, tables, index, colonnes et alias Sensibilité à la casse pour les noms
>>>

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.2 Noms de bases, tables, index, colonnes et alias

Les noms des bases de données, tables, index, colonnes et alias suivent tous les mêmes règles en MySQL.

Notez que les règles ont changé à partir de la version 3.23.6 de MySQL lorsqu'à été introduite la protection des noms d'identifiant avec les guillemets obliques ` . " fonctionne aussi si vous fonctionnez en mode AINSI. Exécuter MySQL en mode ANSI .
Identifiant Longueur maximale Caractères autorisés
Base de données 64 Tous les caractères autorisés dans un nom de dossier à part '/' , '\' et '.' .
Table 64 Tous les caractères autorisés dans le nom d'un fichier à part '/' et '.' .
Colonne 64 Tous.
Alias 255 tous.
Notez qu'en plus de ce qui précède, vous n'avez pas droit au caractères ASCII(0), ASCII(255) ou aux guillemets dans un identifiant.

Notez que si un identifiant est un mot réservé, ou contient des caractères spéciaux, vous devez absolument le protéger avec ` :


mysql> SELECT * FROM `select` WHERE `select`.id > 100;
Est-ce que MySQL est sensible aux mots réservés ? .

Dans les versions antérieures à la 3.23.6, les règles étaient les suivantes :

  • Un nom est constitué d'une séquence de caractères alpha-numériques, tiré du jeu de caractères courant, et en y ajoutant le souligné '_' et le signe dollar '$' . Le jeu de caractères par défaut est ISO-8859-1 Latin1; Il peut être modifié avec l'option de démarrage --default-character-set de mysqld . Le jeu de caractères utilisé pour les données et le stockage .
  • Un nom peut commencer par n'importe quel caractère permis dans un nom. Un nom peut donc commencer par un chiffre. (Ce qui n'est pas le cas dans d'autres systèmes de base de données). Par contre, un nom ne peut consister uniquement de chiffres.
  • Vous ne pouvez pas utiliser de point ( '.' ) dans les noms car ce caractère est utilisé pour se référer au colonnes (voir ce qui suit).
Il est conseillé de ne pas utiliser de nom comme 1e , car une expression comme 1e + 1 est ambigue. Ce nom pourra être interprété comme l'expression 1e + 1 ou le nombre 1e+1 .

Avec MySQL vous pouvez indiquer une colonne avec l'une des syntaxes suivantes :

Référence Signification
nom_colonne La colonne nom_colonne de chaque table utilisée dans la requête qui comporte une telle colonne.
nom_de_table.nom_colonne La colonne nom_colonne de la table nom_de_table de la base de données courante.
nom_de_base.nom_de_table.nom_colonne La colonne nom_colonne de la table nom_de_table de la base nom_de_base . Cette forme est disponible à partir de la version 3.22 de MySQL.
`nom_colonne` Une colonne qui est un mot réservé ou qui contient un caractère spécial.

Vous n'avez pas besoin de spécifier nom_de_table ou nom_de_base.nom_de_table avant une colonne sauf si la référence risque d'être ambigue. Par exemple, supposons que t1 et t2 contiennent toutes les deux une colonne nommée c , et que vous lisez c dans une requête SELECT qui utilise t1 et t2 à la fois. Dans ce cas, c est ambigu car il peut se référer t1 aussi bien qu'à t2 . Vous devez donc indiquer la table ciblée en écrivant t1.c ou t2.c . De même, si vous lisez à partir d'une table t située dans la base db1 et de la table t dans la base db2 , vous devez vous référer aux colonnes de ces tables en écrivant db1.t.nom_colonne et db2.t.nom_colonne .

La syntaxe .nom_de_table référence la table nom_de_table dans la base de données courante. Cette syntaxe est acceptée pour assurer la compatibilité avec ODBC, car certains pilotes ODBC préfixent les noms des tables avec des points ( '.' ).

<< Noms de bases, tables, index, colonnes et alias >>
Literals: Comment écrire les chaînes et les nombres Structure du langage Sensibilité à la casse pour les noms
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -