Une chaîne est une séquence de caractères, entourée de
        guillemets simples (‘'’) ou
        doubles (‘"’). Exemples:
      
        Si le serveur SQL est en mode ANSI_QUOTES,
        les chaînes littérales ne peuvent être mises qu'entre
        guillemets simples. Une chaîne avec des guillemets double sera
        interprétée comme un identifiant.
      
'une chaîne' "une autre chaîne"
        Depuis MySQL 4.1.1, les littéraux disposent d'une option de jeu
        de caractères et de collation avec la clause
        COLLATE :
      
[_charset_name]'string' [COLLATE collation_name]
Exemples :
SELECT _latin1'string'; SELECT _latin1'string' COLLATE latin1_danish_ci;
Pour plus d'informations sur ces formes de chaîne de caractères, voyez Section 10.3.7, « Jeu de caractères et collation des chaînes littérales ».
        A l'intérieur d'une chaîne, certains séquences de caractères
        ont une signification spéciale. Chacune d'elle commence par un
        anti-slash (‘\’), connu comme le
        caractère d'échappement. MySQL reconnaît
        les séquences suivantes :
      
        Ces séquences sont sensibles à la casse. Par exemple,
        ‘\b’ est interprétée comme un
        anti-slash, mais ‘\B’ est
        interprété comme la lettre ‘B’.
      
        Les caractères ‘\%’ et
        ‘\_’ sont utilisés pour
        rechercher des chaînes littérales
        ‘%’ et
        ‘_’ dans un contexte
        d'expressions régulières. Sinon, ces caractères sont
        interprétés comme des caractères joker. See
        Section 12.3.1, « Opérateurs de comparaison pour les chaînes de caractères ». Notez que si vous
        utilisez ‘\%’ ou
        ‘\_’ dans d'autres contextes, ces
        séquences retourneront ‘\%’ et
        ‘\_’ et non
        ‘%’ et
        ‘_’.
      
Il y a plusieurs fa¸ons d'intégrer un guillemet dans une chaîne :
            Un ‘'’ à l'intérieur d'une
            chaîne entourée de ‘'’ peut
            être noté ‘''’.
          
            Un ‘"’ à l'intérieur d'une
            chaîne entourée de ‘"’ peut
            être noté ‘""’.
          
            Vous pouvez faire précéder le guillemet par caractère
            d'échappement (‘\’).
          
            Un guillemet simple ‘'’ à
            l'intérieur d'une chaîne à guillemets doubles
            ‘"’ n'a besoin d'aucun
            traitement spécial (ni doublage, ni échappement). De
            même, aucun traitement spécial n'est requis pour un
            guillemet double ‘"’ à
            l'intérieur d'une chaîne à guillemets simples
            ‘'’.
          
        Le SELECT montré ici explique comment les
        guillemets et les échappements fonctionnent :
      
mysql>SELECT 'bonjour', '"bonjour"', '""bonjour""', 'bon''jour', '\'bonjour';+---------+-----------+-------------+----------+----------+ | bonjour | "bonjour" | ""bonjour"" | bon'jour | 'bonjour | +---------+-----------+-------------+----------+----------+ mysql>SELECT "bonjour", "'bonjour'", "''bonjour''", "bon""jour", "\"bonjour";+---------+-----------+-------------+----------+----------+ | bonjour | 'bonjour' | ''bonjour'' | bon"jour | "bonjour | +---------+-----------+-------------+----------+----------+ mysql>SELECT "Voilà\n3\nlignes";+--------------------+ | Voilà 3 lignes | +--------------------+
        Si vous voulez insérer des données binaires dans un champ
        chaîne (comme un BLOB), les caractères
        suivants doivent être échappés :
      
| NUL | ASCII 0. Représentez le avec ‘ \0’ (un
                anti-slash suivi du caractère ASCII
                ‘0’). | 
| \ | ASCII 92, anti-slash. A représenter avec
                ‘ \\’. | 
| ' | ASCII 39, guillemet simple. A représenter avec
                ‘ \'’. | 
| " | ASCII 34, guillemet double. A représenter avec
                ‘ \"’. | 
Lorsque vous écrivez des applications, toutes les chaînes qui risquent de contenir ces caractères spéciaux doivent être protégés avant d'être intégrée dans la commande SQL. Vous pouvez faire cela de deux manières différentes :
            passez la chaîne à une fonction qui protège les
            caractères spéciaux. Par exemple, en langage C, vous
            pouvez utiliser la fonction
            mysql_real_escape_string(). See
            Section 24.2.3.47, « mysql_real_escape_string() ». L'interface
            Perl DBI fournit une méthode basée sur
            les guillemets pour convertir les
            caractères spéciaux en leur séquence correspondante. See
            Section 24.4, « API Perl pour MySQL ».
          
Au lieu de protéger explicitement tous les caractères, de nombreuses interfaces MySQL fournissent un système de variables qui vous permettent de mettre des marqueurs dans la requête, et de lier les variables à leur valeur au moment de leur exécution. Dans ce cas, l'interface se charge de protéger les caractères spéciaux pour vous.
This is a translation of the 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.

