Используют ли разные базы данных другую цитату с именем?

Например, имя таблицы цитат mysql, использующее

SELECT * FROM `table_name`;

обратите внимание на `

Использует ли другая база данных разные char, чтобы указать их имя таблицы

Ответ 1

Это использование кавычек называется разделительными идентификаторами. Это важная часть SQL, потому что иначе вы не можете использовать идентификаторы (например, имена таблиц и имена столбцов), которые:

  • Включить пробелы: "моя таблица"
  • Включить специальные символы и знаки препинания: "my-table"
  • Включить международные символы: "私 の テ ー ブ ル"
  • Учитывать регистр: "MyTable"
  • Соответствие ключевых слов SQL: "таблица"

Стандартный язык SQL использует двойные кавычки для идентификаторов с разделителями:

SELECT * FROM "my table";

MySQL использует обратные кавычки по умолчанию. MySQL может использовать стандартные двойные кавычки:

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

Microsoft SQL Server по умолчанию использует скобки. Microsoft может использовать стандартные двойные кавычки:

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

InterBase и Firebird должны установить диалект SQL на 3 для поддержки идентификаторов с разделителями.

Большинство других брендов базы данных используют двойные кавычки правильно.

Ответ 2

SQL Server использует [квадратные скобки] или "двойные кавычки", когда опция QUOTED_IDENTIFIER включена.

Я считаю, что двойные кавычки находятся в стандарте SQL-92.

Ответ 3

Короче, да.

Стандарт SQL использует двойные кавычки вокруг имени, чтобы указать "разделительный идентификатор".

Informix по умолчанию использует одиночные и двойные кавычки взаимозаменяемо, чтобы указать символьные строки. Однако, установив переменную среды DELIMIDENT, вы можете включить стандартное поведение SQL - одинарные кавычки вокруг строк и двойных кавычек вокруг идентификаторов с разделителями.

Другие люди указали другие виды поведения для других СУБД; Мне не нужно повторять это.