SQL-команды: DQL, DDL, DML, DCL и TCL с примерами.
⚡ Умное резюме
Команды SQL сгруппированы в пять подязыков, которые управляют реляционной базой данных. DDL определяет структуру, DML изменяет данные, DCL контролирует доступ, TCL управляет транзакциями, а DQL извлекает данные; каждый из них имеет свой собственный набор операторов и синтаксис.

Что такое SQL?
SQL — это язык баз данных, предназначенный для поиска и управления данными в реляционной базе данных.
SQL — это стандартный язык управления базами данных. Все системы РСУБД, такие как MySQL, MS-доступ, OracleSybase, Postgres и SQL Server используют SQL в качестве стандартного языка программирования для работы с базами данных. Язык программирования SQL использует различные команды для выполнения разных операций. Мы изучим команды DCL, TCL, DQL, DDL и DML в SQL на примерах.
Зачем использовать SQL?
Вот важные причины для использования SQL:
- Это помогает пользователям получать доступ к данным в система РСУБД.
- Это помогает описать данные.
- Это позволяет вам определять данные в базе данных и манипулировать этими конкретными данными.
- С помощью команд SQL можно создавать и удалять базы данных и таблицы.
- SQL позволяет использовать функции в базе данных, а также создавать представления и хранимые процедуры.
- Вы можете установить разрешения для таблиц, процедур и представлений.
Краткая история SQL
Вот важные достопримечательности из история SQL:
- 1970 – Доктор Эдгар Ф. «Тед» Кодд описал реляционную модель баз данных.
- 1974 год – появился язык структурированных запросов (Structured Query Language), первоначально называвшийся SEQUEL. IBM.
- 1979 - Oracle выпустила первую коммерчески доступную базу данных на основе SQL, созданную на основе IBMИсследовательский прототип системы R.
- 1986 год – ANSI опубликовала первый стандарт SQL, SQL-86.
- 1989 год – вышла первая редакция стандарта SQL-89.
- 1992 год – SQL-92 (SQL2) стал основной базовой версией, на которую до сих пор ссылается большинство баз данных.
- 1999 – Выпущен SQL:1999 (SQL3) с такими функциями, как триггеры, рекурсивные запросы и объектно-ориентированное программирование.
- 2003 – В SQL:2003 были добавлены оконные функции, генераторы последовательностей и возможности, связанные с XML.
- 2006 – В SQL:2006 добавлена поддержка языка запросов XML (XQuery).
- 2008 – В SQL:2008 были введены оператор TRUNCATE и триггеры INSTEAD OF.
- 2011 – В SQL:2011 улучшена поддержка временных баз данных.
- 2016 – В SQL:2016 добавлена поддержка JSON и сопоставление строк по шаблону (MATCH_RECOGNIZE).
- 2019 – В стандарт SQL/MDA (Часть 15) добавлена поддержка многомерных массивов.
- 2023 – В SQL:2023 добавлен собственный тип данных JSON и запросы к графу свойств (SQL/PGQ).
- 2024 год – GQL, первый новый язык баз данных ISO после SQL, был опубликован в качестве сопутствующего стандарта для запросов к графам.
- 2026 – SQL:2023 остается действующим стандартом, а следующая редакция находится в разработке в ISO/IEC.
Типы команд SQL
Вот пять типов широко используемых команд SQL:
- Языка определения данных (DDL)
- Манипулирование данными Language (DML)
- Язык управления данными (DCL)
- Язык управления транзакциями (TCL)
- Язык запросов данных (DQL)

В таблице ниже приведено краткое описание пяти категорий, после чего каждая из них рассматривается подробно.
| Категория | Цель | Основные команды |
|---|---|---|
| DDL | Определить структуру | СОЗДАТЬ, УДАИТЬ, ИЗМЕНИТЬ, УДАЛИТЬ |
| DML | Изменить данные | ВСТАВИТЬ, ОБНОВИТЬ, УДАЛИТЬ |
| DCL | Контроль доступа | ПРЕДОСТАВИТЬ, ОТМЕНИТЬ |
| TCL | Управлять транзакциями | ПОДТВЕРЖДЕНИЕ, ОТКАТ, СОХРАНЕНИЕ ТОЧКИ |
| ДКЛ | Получить данные | ВЫБОР |
Что такое ДДЛ?
Язык определения данных (DDL) помогает определить структуру или схему базы данных. Давайте изучим команды DDL и их синтаксис. Основные команды DDL в SQL — это CREATE, DROP, ALTER и TRUNCATE.
СОЗДАТЬ
Оператор CREATE используется для определения структуры или схемы базы данных:
Синтаксис:
CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);
Например:
Create database university; Create table students; Create view for_students;
DROP
Команда DROP удаляет таблицы и базы данных из СУБД.
Синтаксис:
DROP TABLE ;
Например:
Drop object_type object_name; Drop database university; Drop table student;
ALTER
Команда ALTER позволяет изменять структуру базы данных.
Синтаксис: Чтобы добавить новый столбец в таблицу:
ALTER TABLE table_name ADD column_name COLUMN-definition;
Чтобы изменить существующий столбец в таблице:
ALTER TABLE MODIFY(COLUMN DEFINITION....);
Например:
Alter table guru99 add subject varchar;
ОБРЕЗАТЬ
Эта команда используется для удаления всех строк из таблицы и освобождения места, содержащего таблицу.
Синтаксис:
TRUNCATE TABLE table_name;
Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.
TRUNCATE table students;
Что такое язык манипулирования данными?
Язык манипулирования данными (DML) позволяет изменять экземпляр базы данных путем вставки, изменения и удаления данных. Он отвечает за выполнение всех типов изменений данных в базе данных. Важные команды DML в SQL:
- ВСТАВИТЬ
- ОБНОВЛЕНИЕ ПО
- УДАЛИТЬ
ВСТАВИТЬ
Этот оператор используется для вставки данных в строки таблицы.
Синтаксис:
INSERT INTO TABLE_NAME (col1, col2, col3,.... col N) VALUES (value1, value2, value3, .... valueN); Or INSERT INTO TABLE_NAME VALUES (value1, value2, value3, .... valueN);
Например:
INSERT INTO students (RollNo, FIrstName, LastName) VALUES ('60', 'Tom', Erichsen');
ОБНОВЛЕНИЕ ПО
Эта команда используется для обновления или изменения значения столбца в таблице.
Синтаксис:
UPDATE table_name SET [column_name1= value1,...column_nameN = valueN] [WHERE CONDITION]
Например:
UPDATE students SET FirstName = 'Jhon', LastName= 'Wick' WHERE StudID = 3;
УДАЛИТЬ
Эта команда используется для удаления одной или нескольких строк из таблицы.
Синтаксис:
DELETE FROM table_name [WHERE condition];
Например:
DELETE FROM students WHERE FirstName = 'Jhon';
Что такое ДКЛ?
Язык управления данными (DCL) включает в себя такие команды, как GRANT и REVOKE, которые полезны для предоставления прав и разрешений. Другие команды управляют параметрами системы баз данных.
Грант
Эта команда используется для предоставления пользователю прав доступа к базе данных.
Синтаксис:
GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;
Например:
GRANT SELECT ON Users TO'Tom'@'localhost;
Revхорошо
Эта команда полезна для того, чтобы отозвать у пользователя права доступа.
Синтаксис:
REVOKE privilege_nameON object_nameFROM {user_name |PUBLIC |role_name}
Например:
REVOKE SELECT, UPDATE ON student FROM BCA, MCA;
Что такое ТКЛ?
Команды языка управления транзакциями (TCL) управляют транзакциями внутри базы данных. Они работают непосредственно с состояниями, описанными в разделе... управление транзакциями.
Совершать
Эта команда используется для сохранения всех транзакций в базе данных.
Синтаксис:
Commit;
Например:
DELETE FROM Students WHERE RollNo =25; COMMIT;
Отмена
Команда «Откат» позволяет отменить транзакции, которые еще не были сохранены в базе данных.
Синтаксис:
ROLLBACK;
Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.
DELETE FROM Students WHERE RollNo =25;
ТОЧКА СОХРАНЕНИЯ
Эта команда позволяет установить точку сохранения в рамках транзакции.
Синтаксис:
SAVEPOINT SAVEPOINT_NAME;
Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.
SAVEPOINT RollNo;
Что такое ДКЛ?
Язык запросов к данным (DQL) используется для извлечения данных из базы данных. Он использует всего одну команду — SELECT.
ВЫБОР
Эта команда помогает выбрать атрибуты на основе условия, описанного в предложении WHERE.
Синтаксис:
SELECT expressions FROM TABLES WHERE conditions;
Например:
SELECT FirstName FROM Student WHERE RollNo > 15;
Удалить против Обрезать против Удалить
Все три команды удаляют данные, но различаются тем, что именно они удаляют и можно ли отменить действие. Путаница между ними — распространённая ошибка новичков.
| Аспект | УДАЛИТЬ | ОБРЕЗАТЬ | DROP |
|---|---|---|---|
| Категория | DML | DDL | DDL |
| Удаляет | Выбранные строки | Все строки | Весь стол |
| Предложение WHERE | Разрешено | Не положено | Непригодный |
| Отмена | Возможное | Обычно нет | Невозможно |
| Сохраненная структура | Да | Да | Нет |
Вкратце, используйте DELETE для удаления определенных строк, TRUNCATE для быстрой очистки таблицы и DROP для полного удаления таблицы.
