sql >> Base de Datos >  >> RDS >> Mysql

¿Diferentes bases de datos usan diferentes comillas de nombres?

Este uso de comillas se denomina identificadores delimitados. Es una parte importante de SQL porque, de lo contrario, no puede usar identificadores (por ejemplo, nombres de tablas y nombres de columnas) que:

  • Incluir espacios en blanco:"mi tabla"
  • Incluir caracteres especiales y puntuación:"my-table"
  • Incluye caracteres internacionales:"私のテーブル"
  • Son sensibles a mayúsculas y minúsculas:"MyTable"
  • Hacer coincidir palabras clave de SQL:"tabla"

El lenguaje SQL estándar usa comillas dobles para identificadores delimitados:

SELECT * FROM "my table";

MySQL usa comillas inversas por defecto. MySQL puede usar comillas dobles estándar:

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

Microsoft SQL Server y Sybase utilizan corchetes de forma predeterminada. Ambos pueden usar comillas dobles estándar de esta manera:

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

InterBase y Firebird deben establecer el dialecto SQL en 3 para admitir identificadores delimitados.

La mayoría de las otras marcas de bases de datos usan comillas dobles correctamente.