В блог
Операторы SQL: основные группы и примеры использования - IT Resume

Операторы SQL: основные группы и примеры использования

Дата последнего обновления: 22.12.2025
Дата размещения: 14.03.2025
Евгений Буторин
Автор, редактор

Работа с SQL является ключевым навыком для аналитика в текущее время. Каждая компания сейчас имеет огромное количество данных, которые необходимо привести в презентабельный внешний вид. Да, по-прежнему можно встретить компании, которые работают только в Excel или Access и имеют успешный бизнес, но это не значит, что они эффективно используют имеющиеся данные и ресурсы.

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

Что такое SQL

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

Пионерам в области SQL можно считать команду компании IBM, которая не только разработала реляционную модель данных, но и создала первый прототип языка, назвав его SEQEL. Чуть позже, в 1979 году, компания Oracle значительно ускорила развитие и популярность SQL, выпустив первую коммерческую версию.

Первый международный стандарт SQL был принят в 1986 году. С тех пор стандарты постоянно обновляются, делая язык ещё более удобным и функциональным. Например, оконные функции появились только в стандарте SQL:2003.

SQL необходим для работы с данными — он позволяет создавать и удалять таблицы внутри базы данных, выбирать необходимую информацию из этих таблиц путём фильтрации, аггрегации и объединения. Также SQL позволяет читать внешние данные, например Excel-файлы, сжимать данные и партицировать таблицы. Существуют и нетривиальные способы использования SQL — например, отправка писем в качестве оповещений об окончании работы скрипта.

Где применяется SQL

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

  • Мобильные и веб-приложения для хранения данных пользователей и вывода сохраненных данных;
  • Аналитика в компаниях для создания отчётов и поиска инсайтов — банках, аптечных сетях, строительстве, добыче и переработке полезных ископаемых, ритейле и многих других;
  • Игровая индустрия для хранения данных об игроках и их персонажах;
  • Data Science для обработки больших объёмов данных;
  • Управление базами данных для администрирования и оптимизации баз данных.

Что такое операторы в языке запросов

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

Существует несколько групп операторов, которые разделяются в зависимости от назначения.

Группы операторов SQL

Как указано выше, операторы SQL можно разделить на несколько основных групп:

  1. DDL (Data Definition Language) содержит в себе следующие операторы:
  • CREATE. Оператор позволяет создавать новые объекты в базе данных — таблицы, индексы, процедуры, схемы). Например, создадим таблицу с полями ID, Name и Age:
CREATE TABLE users (
id INT,
      name VARCHAR(150),
      age SMALLINT
   );

При создании таблиц также важно указывать тип данных, которые будут храниться в столбце. В данном примере SMALLINT — это число, а VARCHAR — это строковые данные с длиной не более 150 символов.

  • ALTER. Позволяет изменить существующую структуру объектов. Давайте для примера добавим в нашу таблицу столбец EMAIL с длиной не более 100 символов:
ALTER TABLE users ADD COLUMN email VARCHAR(100);
  • DROP. Удаляет объект из БД. Например, чтобы удалить таблицу users и всё её содержимое навсегда, нам необходимо написать:
DROP TABLE users;
  • TRUNCATE. Практически мгновенно удаляет все строки из таблицы, но сохраняет её структуру. Таким образом, чтобы очистить содержимое таблицы users, мы можем написать следующее:
TRUNCATE TABLE users;
  1. DML (Data Manipulation Language) является группой для манипуляции с данными и включает в себя операторы:
  • SELECT. Позволяет выбирать необходимые данные из таблиц.
SELECT * FROM users;

В данном примере мы выгрузили все строки таблицы users, но если нам нужны какие-то определённые, то мы также можем использовать фильтрацию, например:

SELECT * FROM users
where age >= 35;

Или чтобы получить только отдельные колонки, мы можем изменить запрос на:

SELECT name FROM users
where age >= 35;

Таким образом мы получим только имена пользователей, которые старше 35 лет.

  • INSERT. Необходим для добавления в таблицу новых строк. Давайте добавим в нашу таблицу нового пользователя Ивана, 26 лет:
INSERT INTO users (name, age) values ('Иван',26);
  • UPDATE. Позволяет изменить существующие данные. Поэтому давайте изменим возраст Ивана на 29 лет:
UPDATE users SET age = 29 WHERE name = 'Иван';
  • DELETE. Удаляет записи из таблицы. Но этот оператор не стоит путать с TRUNCATE, так как DELETE позволяет удалить как все, так и только ненужные данные, а не всю таблицу целиком. При этом TRUNCATE является целевым решением, если вам нужно очистить всю таблицу, так как работает значительно быстрее.
DELETE FROM users where name = 'Иван';

Данная команда удаляет всех пользователей с именем Иван из таблицы. Поэтому я рекомендую, прежде чем делать DELETE, предварительно сделать SELECT с такими же фильтрами и убедиться, что все эти строки нам не нужны, и только после этого заменить SELECT на DELETE.

  1. DCL (Data Control Language). Эта группа операторов необходима для работы с доступами к таблицам и представлена следующими операторами:
  • GRANT. Выдаёт права конкретному пользователю, схеме или всем на определённую таблицу.
GRANT SELECT ON users TO 'user1';

Данной командой мы выдаём права user1 на чтение нашей таблицы.

  • REVOKE. Отзывает права доступа на таблицу.
REVOKE SELECT ON users FROM 'user1';

Команда, указанная выше, отзывает права доступа на чтение таблицы user у user1.

  • DENY. Запрещает определённые действия — например, внесение изменений или удаление таблиц.
DENY INSERT ON user TO 'user1';

Этой командой мы запрещаем user1 добавлять данные в таблицу user.

  1. TCL (Transaction Control Language), в свою очередь, позволяет управлять транзакциями.
  • BEGIN. Это команда, которая запускает транзакцию.
BEGIN
UPDATE users SET balance = balance - 10 WHERE id = 1;
UPDATE users SET balance = balance + 10 WHERE id = 2;
COMMIT;

Эта комбинация изображает транзакцию между двумя клиентами с id 1 и 2, в данном случае баланс одного должен уменьшиться на 10, а второго — увеличиться на 10. Транзакция будет возможна только в случае одновременного исполнения условий у обоих клиентов.

  • COMMIT. Сохраняет изменения, сделанные в транзакции.
INSERT INTO users (name, age) values ('Иван',26);
COMMIT;

Оператор COMMIT фиксирует данные в таблице.

  • ROLLBACK. Отменяет изменения, сделанные в транзакции.
BEGIN
UPDATE users SET balance = balance - 10 WHERE id = 1;
UPDATE users SET balance = balance + 10 WHERE id = 2;
ROLLBACK
COMMIT;

Данная комбинация отменяет текущую транзакцию и возвращает баланс в прежнее состояние.

  • SAVEPOINT. Создаёт точку сохранения внутри транзакции.
BEGIN
UPDATE users SET balance = balance - 10 WHERE id = 1;
SAVEPOINT my_savepoint
UPDATE users SET balance = balance - 30 WHERE id = 1;
ROLLBACK TO SAVEPOINT my_savepoint
COMMIT;

В данном примере мы сначала уменьшаем баланс пользователя с id = 1 на 10 и создаём SAVEPOINT, после уменьшаем баланс ещё на 30 и откатываем изменения на наш SAVEPOINT. То есть последняя команда с вычетом из баланса 30 отменяется.


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

Конечно, в последнее время популярность набирает Python, но без понимания того, как работает база данных, как обрабатывать данные на языке SQL и писать оптимальные запросы, сложно успешно и быстро развиваться в аналитике.

Подпишитесь на нашу рассылку
Имя*
Email*
Номер телефона*
Заполняя данную форму, Вы соглашаетесь с политикой конфиденциальности
Никакого спама. Только точечные рассылки с лучшими материалами.
  • Курсы-симуляторы
  • Авторские тренинги
  • Бесплатные курсы
  • Высшее образование