Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Bancos de dados diferentes usam citação de nome diferente?


Esse uso de aspas é chamado de identificadores delimitados. É uma parte importante do SQL porque, caso contrário, você não pode usar identificadores (por exemplo, nomes de tabelas e nomes de colunas) que:
  • Incluir espaço em branco:"minha tabela"
  • Incluir caracteres especiais e pontuação:"minha-tabela"
  • Incluir caracteres internacionais:"私のテーブル"
  • Fazem distinção entre maiúsculas e minúsculas:"MinhaTabela"
  • Corresponder a palavras-chave SQL:"tabela"

A linguagem SQL padrão usa aspas duplas para identificadores delimitados:
SELECT * FROM "my table";

O MySQL usa aspas por padrão. O MySQL pode usar aspas duplas padrão:
SELECT * FROM `my table`;
SET SQL_MODE=ANSI_QUOTES;
SELECT * FROM "my table";

O Microsoft SQL Server e o Sybase usam colchetes por padrão. Ambos podem usar aspas duplas padrão desta forma:
SELECT * FROM [my table];
SET QUOTED_IDENTIFIER ON;
SELECT * FROM "my table";

InterBase e Firebird precisam configurar o dialeto SQL para 3 para suportar identificadores delimitados.

A maioria das outras marcas de banco de dados usa aspas duplas corretamente.