Данное руководство посвящено изучению структурированного языка запросов (Structured Query Language – SQL) и дополнен большим количеством примеров, которые наглядно демонстрируют возможности SQL.
SQL является стандартом ANSI, но существует большое количество версий данного языка запросов.
Что такое SQL?
SQL предназначен для сохранения, манипуляции и получения данных, которые хранятся в реляционной базе данных (далее – БД). Он является стандартным языком для Систем Управления Реляционными Базами Данных – СУБД (RDBMS), таких как MySQL, Oracle, Postgres и т.д.
Эти системы используют различные диалекты SQL:
Oracle – PL/SQL
MS SQL – T-SQL
Преимущества SQL
Среди преимуществ SQL мы можем выделить следующие:
- Позволяет пользователям получать доступ к данным в RDBMS.
- Позволяет пользователям описывать данные.
- Позволяет пользователям определять данные в БД и манипулировать ими.
- Позволяет встраивать другие языки, используя модули SQL, библиотеки и пре-компиляторы.
- Позволяет пользователям создавать и удалять БД и таблицы.
- Позволяет пользователю создавать встроенные виды, процедуры и функции в БД.
- Позволяет ограничивать доступ к таблицам, процедурам и видам.
Принцип работы SQL
Когда мы выполняем команду SQL для любой RDBMS, система определяет наилучший способ для обработки нашего запроса и модуль управление (“двигатель”) SQL вычисляет, как интерпретировать задачу.
В данный процесс включены такие компоненты:
- Query
- Dispatcher
- Optimization Engines
- Classic Query Engine
- SQL Query Engine и т.д.
Classic Query Engine обрабатывает все не-SQL запросы, а SQL Query Engine не обрабатывает логические файлы.
Ниже представлена простая диаграмма, демонстрирующая архитектуру SQL:
SQL Команды
Стандартные SQL команды для взаимодействия с реляционными БД:
- CREATE
- SELECT
- INSERT
- UPDATE
- DELETE
- DROP
Данные команды разбиты на две большие категории:
DDL – Data Definition Language
Команда | Описание |
---|---|
CREATE | Создаёт новую таблицу, вид таблицы или другой объект в БД. |
ALTER | Изменяет существующий объект БД (например, таблицу). |
DROP | Удаляет указанную таблицу, вид таблицы или другой объект БД. |
DML – Data Manipulation Language
Команда | Описание |
---|---|
SELECT | Получает определённые данные из одной или нескольких таблиц. |
INSERT | Создаёт запись |
UPDATE | Изменяет записи |
DELETE | Удаляет записи |
DCL – Data Control Language
Команда | Описание |
---|---|
GRANT | Даёт все привилегии пользователю |
REVOKE | Отменяет привилегии отданные пользователю |
На это мы заканчиваем введение в язык структурированных запросов (SQL).
В следующей статье мы обсудим базовые концепции RDBMS.