Истории успеха наших клиентов — лучшие проекты
Вход/ Регистрация

Основные команды SQL

10759
9 минут чтения
Средний рейтинг статьи: 5

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

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

wages INT DEFAULT 30000

NOT NULL

Запрещает передавать значения NULL. 

wages INT NOT NULL

UNIQUE

Следит за тем, чтобы все передаваемые в пределах одной таблицы значения были исключительными.

wages INT UNIQUE / 
wages INT,
UNIQUE (wages)

PRIMARY KEY

Данный тип объединяет в себе NOT NULL и UNIQUE. Считается основной для построения индексов.

wages INT PRIMARY KEY /
wages INT,
PRIMARY KEY (wages)

FOREIGN KEY

Предназначен для организации связи у двух разных таблиц.

CREATE TABLE workers (
    workerID int NOT NULL PRIMARY KEY,
    name VARCHAR(17) NOT NULL,
    surname VARCHAR(17) NOT NULL
);

CREATE TABLE salaries (
    wagesID int NOT NULL PRIMARY KEY,
    wages INT NOT NULL,
    workerID int FOREIGN KEY REFERENCES workers(workerID)
);

CHECK

Данный тип вводит ограничения на передаваемые в таблицу значения.

wages INT CHECK (wages>=20000) /
wages INT,
CHECK (wages>=20000)

Ограничения целостности можно добавлять на этапе создания таблицы. Кроме того их список можно редактировать и после, а также добавлять имена ограничениям. Для этих целей понадобится команда 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 нужен для того, чтобы добавить некоторые правила для извлечения требующейся информации из таблицы. В качестве правил можно указывать операторы сравнения, специальные или логические операторы. Основные операторы и их описание будут представлены ниже.

Оператор

Виды и описание

Операторы сравнения

= либо != – равенство и неравенство соответственно;

< либо > – меньше и больше;

<= либо >= – меньше или равно и больше или равно.

Специальные операторы

ALL – возвращает ИСТИНУ, если все значения подзапроса подходят под заданные условия;

ANY – возвращает ИСТИНУ, если хотя бы одно из значений подзапроса подходит под заданные условия;

BETWEEN – отбирает значения, входящие в заданный диапазон;

IN – отбирает значения, удовлетворяющие заданному списку;

LIKE – отбирает значения, соответствующие указанной маске.

Логические операторы

NOT – предназначен для замены значений специальных операторов на противоположные;

OR – отбирает значения, если хотя бы одно из условий, перечисленных через OR, выполняется;

AND – отбирает значения, если все из условий, перечисленных через AND, выполняются;

XOR – отбирает значения, если только одно из условий, перечисленных через XOR, выполняется.

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

Cloud DB 1/1/8

447 ₽/мес

Процессор
1 x 3.3 ГГц
Память
1 ГБ
Диск NVMe
8 ГБ
Приватный IP
Есть
Резервные копии
Есть
Cloud DB 1/2/20

711 ₽/мес

Процессор
1 x 3.3 ГГц
Память
2 ГБ
Диск NVMe
20 ГБ
Приватный IP
Есть
Резервные копии
Есть
Таблица тарифов
Сравнение тарифов
Cloud DB 1/1/8
496
Cloud DB 1/2/20
790
Cloud DB 2/2/30
1160
Cloud DB 2/4/40
1580
Cloud DB 4/8/80
3160
Cloud DB 4/12/120
4240
Cloud DB 6/12/180
5460
Cloud DB 8/16/220
7040
Процессор1 x 3.3 ГГц1 x 3.3 ГГц2 x 3.3 ГГц2 x 3.3 ГГц4 x 3.3 ГГц4 x 3.3 ГГц6 x 3.3 ГГц8 x 3.3 ГГц
Память1 ГБ2 ГБ2 ГБ4 ГБ8 ГБ12 ГБ12 ГБ16 ГБ
Диск NVMe8 ГБ20 ГБ30 ГБ40 ГБ80 ГБ120 ГБ180 ГБ220 ГБ
Приватный IPЕстьЕстьЕстьЕстьЕстьЕстьЕстьЕсть
Резервные копииЕстьЕстьЕстьЕстьЕстьЕстьЕстьЕсть

Что запомнить

  • SQL – это язык программирования, основанный на работе с реляционными базами данных посредством извлечения из них данных и их последующей обработки с помощью специальных структурированных запросов.
  • Несмотря на разнообразие СУБД, все команды применяются практически одинаково для многих БД.
  • Все SQL-команды для баз данных классифицируются на 4 вида: DDL, DML, DCL и TCL.
  • В SQL возможно указать диапазон данных таблиц, вводя некоторые ограничения на них.
  • Самая главная команда SQL, необходимая для извлечения данных из таблицы – SELECT. Она включает в себя большое количество операторов, каждый из которых был подробно описан в данной статье.
10759
9 минут чтения
Средний рейтинг статьи: 5

Читайте также

Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server