SQL Синтаксис

SQL (Structured Query Language) — это стандартный язык, используемый для управления реляционными базами данных и работы с ними, включая такие функции, как запрос данных, вставка данных, обновление данных, удаление данных, а также создание и изменение структуры базы данных.


Таблицы базы данных

База данных обычно содержит одну или несколько таблиц. Каждая таблица имеет идентификатор имени (например, "Websites"), и таблица содержит записи (строки) с данными.

В этом руководстве мы создали таблицу Websites в базе данных EXAMPLE в MySQL для хранения записей о веб-сайтах.

Мы можем просмотреть данные таблицы "Websites" с помощью следующей команды:

mysql> use EXAMPLE;
Database changed

mysql> set names utf8;
Query OK, 0 rows affected (0.00 sec)

mysql> SELECT * FROM Websites;
+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | Google       | https://www.google.cm/    | 1     | USA     |
| 2  | 淘宝          | https://www.taobao.com/   | 13    | CN      |
| 3  | Example      | http://www.example.com/    | 4689  | CN      |
| 4  | 微博          | http://weibo.com/         | 20    | CN      |
| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |
+----+--------------+---------------------------+-------+---------+
5 rows in set (0.01 sec)

Объяснение

  • use EXAMPLE;Команда используется для выбора базы данных.
  • set names utf8;Команда используется для установки используемого набора символов.
  • SELECT * FROM Websites;Прочитать информацию из таблицы данных.
  • Приведённая выше таблица содержит пять записей (каждая соответствует информации об одном веб-сайте) и 5 столбцов (id, name, url, alexa и country).

SQL-инструкции

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

Следующая инструкция SQL выбирает все записи из таблицы "Websites":

Примеры

SELECT * FROM Websites;

В этом руководстве мы объясним вам различные SQL-инструкции.


Пожалуйста, помните...

  • SQL не чувствителен к регистру: SELECT — то же самое, что select.

Точка с запятой после SQL-инструкций?

Некоторые системы баз данных требуют точку с запятой в конце каждой SQL-инструкции.

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

В этом руководстве мы будем использовать точку с запятой в конце каждого SQL-оператора.


Некоторые из наиболее важных команд SQL

  • SELECT- Извлечение данных из базы данных
  • UPDATE- Обновление данных в базе данных
  • DELETE- Удаление данных из базы данных
  • INSERT INTO- Вставка новых данных в базу данных
  • CREATE DATABASE- Создание новой базы данных
  • ALTER DATABASE- Изменение базы данных
  • CREATE TABLE- Создание новой таблицы
  • ALTER TABLE- Изменение (alter) таблиц базы данных
  • DROP TABLE- Удаление таблицы
  • CREATE INDEX- Создать индекс (ключ поиска)
  • DROP INDEX- Удалить индекс

Ниже приведены некоторые часто используемые SQL-инструкции и синтаксис:

SELECT: Используется для запроса данных из базы данных.

SELECT column_name(s)
FROM table_name
WHERE condition
ORDER BY column_name [ASC|DESC]
  • column_name(s): Столбец для запроса.
  • table_name: Таблица для запроса.
  • condition: Условия запроса (необязательно).
  • ORDER BY: Способ сортировки,ASCуказывает на сортировку по возрастанию,DESCуказывает на сортировку по убыванию (необязательно).

INSERT INTO: Используется для вставки новых данных в таблицу базы данных.

INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...)
  • table_name: Таблица, в которую вставляются данные.
  • column1, column2, ...: Столбцы, в которые вставляются данные.
  • value1, value2, ...: Значения, соответствующие столбцам.

UPDATE: Используется для обновления существующих данных в таблице базы данных.

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition
  • table_name: Таблица, в которой обновляются данные.
  • column1 = value1, column2 = value2, ...: Столбцы для обновления и их новые значения.
  • condition: Условия обновления.

DELETE: Используется для удаления данных из таблицы базы данных.

DELETE FROM table_name
WHERE condition
  • table_name: Таблица, из которой удаляются данные.
  • condition: Условия удаления.

CREATE TABLE: Используется для создания новой таблицы базы данных.

CREATE TABLE table_name (
    column1 data_type constraint,
    column2 data_type constraint,
    ...
)
  • table_name: Имя создаваемой таблицы.
  • column1, column2, ...: Столбцы таблицы.
  • data_type: Типы данных столбцов (такие какINT、VARCHARи т.д.).
  • constraint: Ограничения столбцов (такие какPRIMARY KEY、NOT NULLи т.д.).

ALTER TABLE: Используется для изменения структуры существующей таблицы базы данных.

ALTER TABLE table_name
ADD column_name data_type
  • table_name: Таблица для изменения.
  • column_name: Столбец для добавления.
  • data_type: Тип данных столбца.

Или:

ALTER TABLE table_name
DROP COLUMN column_name
  • column_name: Столбец для удаления.

DROP TABLE: Используется для удаления таблицы базы данных.

DROP TABLE table_name
  • table_name: Таблица для удаления.

CREATE INDEX: Используется для создания индекса для ускорения запросов.

CREATE INDEX index_name
ON table_name (column_name)
  • index_name: Имя индекса.
  • column_name: Столбец для индексирования.

DROP INDEX: Используется для удаления индекса.

DROP INDEX index_name
ON table_name
  • index_name: Имя индекса, который нужно удалить.
  • table_name: Таблица, в которой находится индекс.

WHERE: Используется для указания условий фильтрации.

SELECT column_name(s)
FROM table_name
WHERE condition
  • condition: Условие фильтрации.

ORDER BY: Используется для сортировки результирующего набора.

SELECT column_name(s)
FROM table_name
ORDER BY column_name [ASC|DESC]
  • column_name: Столбец, используемый для сортировки.
  • ASC: По возрастанию (по умолчанию).
  • DESC: По убыванию.

GROUP BY: Используется для группировки результирующего набора по одному или нескольким столбцам.

SELECT column_name(s), aggregate_function(column_name)
FROM table_name
WHERE condition
GROUP BY column_name(s)
  • aggregate_function: Агрегатные функции (такие как COUNT, SUM, AVG и т. д.).

HAVING: Используется для фильтрации сгруппированного результирующего набора.

SELECT column_name(s), aggregate_function(column_name)
FROM table_name
GROUP BY column_name(s)
HAVING condition
  • condition: Условие фильтрации.

JOIN: Используется для объединения записей из двух или более таблиц.

SELECT column_name(s)
FROM table_name1
JOIN table_name2
ON table_name1.column_name = table_name2.column_name
  • JOIN: Может быть INNER JOIN, LEFT JOIN, RIGHT JOIN или FULL JOIN.

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

SELECT DISTINCT column_name(s)
FROM table_name
  • column_name(s): Столбец для запроса.

Другие расширения