7.1.1 Chaînes

Une chaîne est une séquence de caractères, entourée par des guillemets simples (`''') ou doubles(`""'). Par exemple :@:

'une chaîne'
"une autre chaîne"

A l'intérieur d'une chaîne, on trouve des séquences spéciales. Celles-ci commencent avec le caractère backslash (``''), dit aussi caractère d'échappement. MySQL reconnaît les séquences suivantes :@:

Within a string, certain sequences have special meaning. Each of these sequences begins with a backslash known as the escape character. MySQL recognizes the following escape sequences:@:

  • 0 ASCII 0 (NUL) le caractère nul.
  • n Une nouvelle ligne.
  • t Une tabulation.
  • r Un retour chariot.
  • b Un effacement.
  • ' Un guillemet simple (``''').
  • " Un guillemet double (``"'').
  • \ Un backslash (``'').
  • % Un pourcentage ``%''. Cela permet de rechercher le caractère `%' dans un contexte ou il pourrait etre considéré comme un caractère spécial.
  • _ Un souligné ``_'' Cela permet de rechercher le caractère ``_'dans un contexte ou il pourrait etre considéré comme un caractère spécial.'

    Il y a plusieurs façons d'introduire des guillemets dans une chaîne.

    La commande SELECT ci-dessous montre comment fonctionne les guillemets et le caractère d'échappement.

    mysql> SELECT 'bonjour', '"bonjour"', '""bonjour""', 'bonj''our', ''bonjour';

    +---------+-----------+-------------+----------+----------+
    | bonjour | "bonjour" | ""bonjour"" | bonj'our | 'bonjour |
    +---------+-----------+-------------+----------+----------+
    mysql> SELECT "bonjour", "'bonjour'", "''bonjour''", "bonj""our", ""bonjour";
    +---------+-----------+-------------+----------+----------+
    | bonjour | 'bonjour' | ''bonjour'' | bonj"our | "bonjour |
    +---------+-----------+-------------+----------+----------+
    
    mysql> SELECT "VoicinQuatrenLignesnDistinctes";
    +--------------------+
    | Voici
    Quatre
    Lignes
    Distinctes |
    +--------------------+
    

    Pour ajouter des valeurs binaires dans un BLOB, les caractères suivants doivent être représenté par des séquences spéciales :@:

  • NUL ASCII 0. Représentation :@: ``0'' (un backslash et un caractère ASCII ``0'' ).
  • ASCII 92, backslash. Représentation :@: ``\''.
  • ' ASCII 39, guillemet simple. Représentation :@: ``'''.
  • " ASCII 34, guillemet double. Représentation :@: ``"''.
  • De préférence, on utilisera une séquence d'échappement pour toute chaîne qui contient un des caractères spéciaux ci-dessus.