SQL — это язык программирования, основанный на работе с реляционными базами данных посредством извлечения из них этих данных и их последующей обработки с помощью специальных структурированных запросов.
Основываясь на стандартах данного языка программирования, разные компании выпустили собственные СУБД, применяющие свои стандарты SQL. Среди них: MySQL, PostgreSQL, Microsoft SQL Server и другие.
Несмотря на разнообразие СУБД, все они применяются практически одинаково для многих БД.
В данной статье мы рассмотрим основные команды SQL, опишем их синтаксис и принцип работы.
Виды SQL команд
Все SQL-команды для баз данных классифицируются на 4 вида: DDL, DML, DCL и TCL. Ниже опишем каждый из видов более подробно:
- DDL – это перечень команд, которые необходимы для создания объектов БД и описания их структуры.
- DML – это перечень операторов, которые служат для проведения корректировок данных.
- DCL – это специализированные команды, которые предоставляют и забирают доступ к данным у пользователей БД.
- TCL – все команды данного вида относятся к процессу управления транзакциями.
Общие понятия
Базы данных в SQL — это комплекс некоторых взаимосвязанных записей, хранимых в таблицах, которые, в свой черед, делятся на столбцы и строки. Первые служат для описания хранимых данных, а вторые для их хранения.
В первую группу (DDL) входят:
CREATE– отвечает за создание объектов БД. Благодаря данной команде пользователь может создать БД и таблицу в ней:
ALTERнеобходима для корректировки созданных объектов БД. Например, ее возможно применить для правки названия созданной таблицы:
DROP– необходима для удаления объектов БД. Благодаря ей возможно удалить созданную базу или ее таблицу:
База данных может быть не одна, а также может включать в себя множество таблиц. Чтобы увидеть список всех существующих баз данных, выполним:
Чтобы выбрать БД с которой пользователь продолжит работу, нужно выполнить:
Чтобы увидеть все таблицы определенной базы данных, нужно выполнить:
Далее пользователь может узнать все сведения о столбцах выбранной таблицы:
Возможные ограничения целостности в БД
В SQL возможно указать диапазон данных таблиц, вводя некоторые ограничения на них.
Ниже будут перечислены основные ограничения целостности, их краткое описание и примеры.
|
Тип ограничения |
Описание |
Пример (SQL Server / MySQL) |
|
DEFAULT |
Передает значение по умолчанию, если при вводе данных ничего не указывалось. |
|
|
NOT NULL |
Запрещает передавать значения NULL. |
|
|
UNIQUE |
Следит за тем, чтобы все передаваемые в пределах одной таблицы значения были исключительными. |
|
|
PRIMARY KEY |
Данный тип объединяет в себе NOT NULL и UNIQUE. Считается основной для построения индексов. |
|
|
FOREIGN KEY |
Предназначен для организации связи у двух разных таблиц. |
|
|
CHECK |
Данный тип вводит ограничения на передаваемые в таблицу значения. |
|
Ограничения целостности можно добавлять на этапе создания таблицы. Кроме того их список можно редактировать и после, а также добавлять имена ограничениям. Для этих целей понадобится команда ALTER, которая была описана в статье ранее.
Синтаксис добавления ограничений и их удаления представлен ниже:
В качестве примера добавим некоторые ограничение на передаваемые значения:
А теперь удалим его:
DBaaS
оптимизируйте процессы DevOps и CI/CD.
Основные команды SQL
Сюда отнесем 4 основные команды SQL: SELECT, INSERT, UPDATE и DELETE. Все они принадлежат ко второму виду команд (DML). Ниже расскажем о каждой из них более подробно.
SELECT
Самая главная команда SQL, необходимая для выборки набора данных из таблицы – SELECT. Ее синтаксис представлен ниже:
Данная команда включает в себя большое количество операторов. Те, что указаны в квадратных скобках, использовать не обязательно. Ниже рассмотрим каждый из операторов отдельно.
DISTINCT и ALL
DISTINCT и ALL предназначены для фильтрации выводимых записей при выполнении команды SELECT. Первый используется в тех случаях, когда необходимо извлечь только уникальные строки без повторений. Второй выводит все строки без исключений и применяется по умолчанию.
FROM
FROM необходим для указания списка таблиц, из которых впоследствии будут извлекаться данные.
WHERE
WHERE нужен для того, чтобы добавить некоторые правила для извлечения требующейся информации из таблицы. В качестве правил можно указывать операторы сравнения, специальные или логические операторы. Основные операторы и их описание будут представлены ниже.
|
Оператор |
Виды и описание |
|
Операторы сравнения |
|
|
Специальные операторы |
|
|
Логические операторы |
|
GROUP BY
Данный оператор группирует данные одного или нескольких столбцов и зачастую применяется с такими функциями, как:
COUNT– команда, которая возвращает количество записей столбца или всей таблицы в целом;MAX,MIN– команда, возвращающая максимальное и минимальное значение выбранного столбца;SUM– команда в SQL, которая возвращает сумму значений выбранного столбца;AVG– команда, возвращающая среднее значение столбца таблицы.
HAVING
Данный оператор схож с WHERE и связан с предыдущим оператором. Однако он применяется исключительно с агрегатными данными.
ORDER BY
Данный оператор сортирует данные в порядке возрастания (ASC) или убывания (DESC). Первый применяется по умолчанию.
LIMIT
Данный оператор применяется в тех случаях, когда необходимо ввести ограничения на количество выбираемых из таблицы записей.
INSERT
INSERT – это команда в SQL для добавления данных в таблицу.
Синтаксис команды представлен ниже:
UPDATE
UPDATE необходима для обновления всех данных в таблице после завершения над ними операций.
Синтаксис команды представлен ниже:
DELETE
Команда в SQL для удаления некоторых данных из таблицы – DELETE. Ее синтаксис представлен ниже:
Команды управления данными
В данном разделе будут рассмотрены две команды, которые относятся к третьему виду команд (DCL) – это GRANT и REVOKE. Они отвечают за предоставление и лишение привилегий у пользователя БД.
GRANT отвечает за предоставление привилегий. Ее синтаксис выглядит следующим образом:
REVOKE, в свою очередь, отвечает за лишение привилегий. Ее синтаксис аналогичен команде GRANT:
Команды управления транзакциями
Перечень этих команд относится к 4 виду (TCL) и ориентирован на контроль выполняемых в БД транзакций. Стоит сразу обратить внимание на то, что работать с данными командами в MySQL Workbench возможно только при выключенной функции автоматической фиксации изменений.
Выделим 3 основные команды, относящиеся к данному виду:
COMMIT;ROLLBACK;SAVEPOINT.
Первая команда из списка выше необходима для объявления транзакции, вторая – для ее отката, а третья для указания логической точки сохранения, чтобы разделить все транзакции на блоки, с возможностью вернуться к одному из них. Их синтаксис будет представлен ниже:
Чтобы вернуться к требующейся точке сохранения, необходимо выполнить:
Чтобы навсегда исключить ненужную точку сохранения, выполняем:
Запустите базу данных в облаке Timeweb Cloud
447 ₽/мес
711 ₽/мес
Что запомнить
- SQL – это язык программирования, основанный на работе с реляционными базами данных посредством извлечения из них данных и их последующей обработки с помощью специальных структурированных запросов.
- Несмотря на разнообразие СУБД, все команды применяются практически одинаково для многих БД.
- Все SQL-команды для баз данных классифицируются на 4 вида: DDL, DML, DCL и TCL.
- В SQL возможно указать диапазон данных таблиц, вводя некоторые ограничения на них.
- Самая главная команда SQL, необходимая для извлечения данных из таблицы –
SELECT. Она включает в себя большое количество операторов, каждый из которых был подробно описан в данной статье.
