DevGang
Авторизоваться

Разбивка руководства по синтаксису SQL по использованию кавычек

В SQL использование кавычек может варьироваться в зависимости от контекста и конкретной системы базы данных SQL, которую вы используете. Вот общее руководство:

  1. Двойные кавычки ("): Обычно используются для заключения таких идентификаторов, как имена таблиц и столбцов. Они необходимы, если идентификатор является зарезервированным ключевым словом или содержит специальные символы или пробелы. Например, "Клиенты" или "Идентификатор заказа". Однако не все Базы данных SQL требуют или допускают двойные кавычки для идентификаторов. Например, MySQL часто использует для этой цели обратные кавычки (`) вместо двойных кавычек.
  2. Одинарные кавычки ('): Используются для заключения строковых литералов, например значений, которые вы можете вставить в таблицу. Например, в запросе INSERT INTO Customers (Name) VALUES ('Джон Доу');«Джон Доу» — это строковый литерал.
  3. Обратные кавычки (`): В основном используются в MySQL для заключения имен таблиц или столбцов. Они служат той же цели, что и двойные кавычки в других базах данных SQL.
  4. Никаких кавычек. Если ваши идентификаторы (например, имена таблиц или столбцов) не содержат специальных символов, пробелов или не являются зарезервированными ключевыми словами, вам часто не нужно использовать кавычки. Например, SELECT * FROM Customers вполне допустим, если «Клиенты» — это простой незарезервированный идентификатор.

Вот несколько примеров, иллюстрирующих использование кавычек в SQL-запросах в различных сценариях и системах баз данных:

1. Использование двойных кавычек для идентификаторов

  • PostgreSQL / Standard SQL
SELECT "name", "age" FROM "Users";

В этом случае "name" и "age" могут быть именами столбцов, а "Users" — именем таблицы. Двойные кавычки используются потому, что PostgreSQL строго придерживается стандарта SQL, который рекомендует использовать двойные кавычки для идентификаторов.

2. Использование одинарных кавычек для строковых литералов

  • Общий пример (применимо к большинству баз данных SQL)
 INSERT INTO Customers (Name, City) VALUES ('John Doe', 'New York');

Здесь 'John Doe' и 'New York' — это строковые литералы, представляющие значения, которые необходимо вставить в столбцы Name и City таблицы Customers.

3. Использование обратных кавычек для идентификаторов (специфично для MySQL)

  • MySQL
SELECT `name`, `age` FROM `Users`;
  • MySQL использует обратные кавычки для цитирования идентификаторов, таких как имена таблиц и столбцов. Это особенно полезно, если имена идентификаторов также являются зарезервированными ключевыми словами или содержат специальные символы.

4. Никаких кавычек для простых идентификаторов.

  • Общий пример
SELECT name, age FROM Users;
  • Если имена таблиц и столбцов не содержат специальных символов, пробелов или не являются зарезервированными ключевыми словами, их можно использовать без кавычек.

5. Смешанное использование

  • Общий пример
SELECT "Employee Name", age FROM Employees WHERE "Employee Name" = 'John Doe';
  • В этом запросе "Employee Name" (идентификатор) использует двойные кавычки, поскольку оно содержит пробел, а 'Джон Доу' (строковый литерал) использует одинарные кавычки.

Всегда не забывайте проверять документацию для конкретной базы данных SQL, которую вы используете, поскольку эти соглашения могут различаться. Например, то, что работает в PostgreSQL, может не работать точно так же в MySQL или Microsoft SQL Server.

Источник:

#SQL
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться