Mysql
 sql >> Base de données >  >> RDS >> Mysql

Différentes bases de données utilisent-elles des citations de noms différentes ?

Cette utilisation des guillemets est appelée identificateurs délimités. C'est une partie importante de SQL car sinon vous ne pouvez pas utiliser d'identifiants (par exemple, des noms de table et des noms de colonne) qui :

  • Inclure les espaces :"mon tableau"
  • Inclure des caractères spéciaux et des signes de ponctuation :"my-table"
  • Inclure des caractères internationaux :"私のテーブル"
  • Sont sensibles à la casse :"MaTable"
  • Mots-clés de correspondance SQL :"table"

Le langage SQL standard utilise des guillemets doubles pour les identifiants délimités :

SELECT * FROM "my table";

MySQL utilise des guillemets inverses par défaut. MySQL peut utiliser des guillemets standards :

SELECT * FROM `my table`;
SET SQL_MODE=ANSI_QUOTES;
SELECT * FROM "my table";

Microsoft SQL Server et Sybase utilisent des crochets par défaut. Ils peuvent tous deux utiliser des guillemets doubles standard de cette façon :

SELECT * FROM [my table];
SET QUOTED_IDENTIFIER ON;
SELECT * FROM "my table";

InterBase et Firebird doivent définir le dialecte SQL sur 3 pour prendre en charge les identifiants délimités.

La plupart des autres marques de bases de données utilisent correctement les guillemets doubles.