Команди SQL: DQL, DDL, DML, DCL та TCL з прикладами

⚡ Розумний підсумок

Команди SQL згруповані в п'ять підмов, які керують реляційною базою даних. DDL визначає структуру, DML змінює дані, DCL контролює доступ, TCL керує транзакціями, а DQL отримує дані, кожна з яких має свій власний набір операторів та синтаксис.

  • 🏗️ DDL: Команди CREATE, DROP, ALTER та TRUNCATE визначають та змінюють схему таблиць і баз даних.
  • ✏️ DML: Операції INSERT, UPDATE та DELETE змінюють рядки, що містяться в таблиці.
  • 🔑 DCL: GRANT та REVOKE надають та видаляють права доступу до об'єктів бази даних.
  • 🔄 TCL: Команди COMMIT, ROLLBACK та SAVEPOINT контролюють, як транзакції зберігаються або скасовуються.
  • 🔍 DQL: SELECT отримує рядки, відфільтровані за допомогою речення WHERE.
  • 🗄️ Стандартна мова: Кожна основна СУБД, від MySQL до Oracle і SQL Server використовує SQL.
  • ⚠️ Ключовий контраст: І TRUNCATE, і DELETE очищують рядки, але TRUNCATE — це DDL, а не порядковий обробник.

Команди SQL DQL DDL DML DCL TCL

Що таке SQL?

SQL це мова бази даних, призначена для пошуку та керування даними в реляційній базі даних.

SQL є стандартною мовою для керування базами даних. Усі системи RDBMS, як MySQL, MS Access, Oracle, Sybase, Postgres та SQL Server використовують SQL як стандартну мову баз даних. Мова програмування SQL використовує різні команди для різних операцій. Ми дізнаємося про команди DCL, TCL, DQL, DDL та DML в SQL з прикладами.

Навіщо використовувати SQL?

Ось важливі причини використання SQL:

  • Це допомагає користувачам отримувати доступ до даних у Система RDBMS.
  • Це допомагає вам описати дані.
  • Це дозволяє визначати дані в базі даних і маніпулювати цими даними.
  • За допомогою команд SQL можна створювати та видаляти бази даних і таблиці.
  • SQL дозволяє використовувати функції в базі даних, а також створювати представлення та збережені процедури.
  • Ви можете встановити дозволи на таблиці, процедури та подання.

Коротка історія SQL

Ось важливі пам'ятки з історія SQL:

  • 1970 – доктор Едгар Ф. «Тед» Кодд описав реляційну модель для баз даних.
  • 1974 – З'явилася структурована мова запитів, спочатку названа SEQUEL. IBM.
  • 1979 - Oracle випустила першу комерційно доступну базу даних на основі SQL, засновану на IBMДослідницький прототип System 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)
  • Мова маніпулювання даними (DML)
  • Мова керування даними (DCL)
  • Мова керування транзакціями (TCL)
  • Мова запитів даних (DQL)
Типи команд SQL
Типи SQL

У таблиці нижче підсумовано п'ять категорій, перш ніж кожна з них буде розглянута детальніше.

Категорія Мета Основні команди
DDL Визначити структуру СТВОРИТИ, ВИДАЛИТИ, ЗМІНИТИ, СКОРОТИТИ
DML Змінити дані ВСТАВИТИ, ОНОВИТИ, ВИДАЛИТИ
DCL Контроль доступу НАДАТИ, СКАСУВАТИ
TCL Керування транзакціями ЗАФІКСАЦІЯ, ВІДКАТ, ТОЧКА ЗБЕРЕЖЕННЯ
DQL Отримання даних ВИБІР

Що таке DDL?

Мова визначення даних допомагає вам визначити структуру або схему бази даних. Давайте розглянемо команди DDL з їх синтаксисом. Основними командами DDL в SQL є CREATE, DROP, ALTER та TRUNCATE.

CREATE

Оператор 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 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
  • ОНОВЛЕННЯ
  • DELETE

INSERT

Цей оператор використовується для вставки даних у рядки таблиці.

Синтаксис:

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

Ця команда використовується для видалення одного або кількох рядків із таблиці.

Синтаксис:

DELETE FROM table_name [WHERE condition];

Наприклад:

DELETE FROM students
WHERE FirstName = 'Jhon';

Що таке DCL?

DCL (мова керування даними) містить такі команди, як GRANT та REVOKE, які корисні для надання прав і дозволів. Інші команди керують параметрами системи баз даних.

Грант

Ця команда використовується для надання користувачеві прав доступу до бази даних.

Синтаксис:

GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;

Наприклад:

GRANT SELECT ON Users TO'Tom'@'localhost;

Revoke

Ця команда корисна для повернення дозволів у користувача.

Синтаксис:

REVOKE privilege_nameON object_nameFROM {user_name |PUBLIC |role_name}

Наприклад:

REVOKE SELECT, UPDATE ON student FROM BCA, MCA;

Що таке TCL?

Мова керування транзакціями, або команди TCL, обробляють транзакції в базі даних. Вони безпосередньо працюють зі станами, описаними нижче. управління транзакціями.

здійснити

Ця команда використовується для збереження всіх транзакцій у базі даних.

Синтаксис:

Commit;

Наприклад:

DELETE FROM Students
WHERE RollNo =25;
COMMIT;

Скасування

Команда Rollback дозволяє скасувати транзакції, які ще не були збережені в базі даних.

Синтаксис:

ROLLBACK;

приклад:

DELETE FROM Students
WHERE RollNo =25;

ТОЧКА Збереження

Ця команда допомагає встановити точку збереження в транзакції.

Синтаксис:

SAVEPOINT SAVEPOINT_NAME;

приклад:

SAVEPOINT RollNo;

Що таке DQL?

Мова запитів до даних (DQL) використовується для отримання даних з бази даних. Вона використовує лише одну команду – SELECT.

ВИБІР

Ця команда допомагає вибрати атрибути на основі умови, описаної в реченні WHERE.

Синтаксис:

SELECT expressions
FROM TABLES
WHERE conditions;

Наприклад:

SELECT FirstName
FROM Student
WHERE RollNo > 15;

ВИДАЛИТИ проти УБІЧЕННЯ проти СКИДАННЯ

Ці три команди видаляють дані, але відрізняються тим, що саме вони видаляють і чи можна скасувати дію. Плутати їх – поширена помилка новачків.

Аспект DELETE ЗРУЧИТИ DROP
Категорія DML DDL DDL
Видалити Вибрані рядки Усі рядки Весь стіл
ДЕ ЗАКЛАД Дозволено Не дозволено Не підтримується
Скасування це можливо Зазвичай ні Неможливо
Структура збережена Так Так Немає

Коротше кажучи, використовуйте DELETE для видалення певних рядків, TRUNCATE для швидкого очищення таблиці та DROP для повного видалення таблиці.

Поширені запитання

DELETE — це команда DML, яка видаляє вибрані рядки та може бути відмінена. TRUNCATE — це команда DDL, яка видаляє всі рядки одночасно, вона швидша та зазвичай не може бути відмінена.

Вони належать до мови керування даними, або DCL. GRANT надає користувачеві права на об'єкт бази даних, а REVOKE позбавляє їх, що разом контролює доступ і безпеку.

Так. Моделі перетворення тексту в SQL перетворюють запит природною мовою на оператор SELECT або інший оператор для відомої схеми. Завжди перевіряйте згенерований запит, перш ніж запускати його на робочих даних.

Так. Читаючи план виконання, ШІ може запропонувати індекс, переписане об'єднання або зміну WHERE, що знизить вартість. Цю пропозицію слід перевірити, оскільки найшвидший план залежить від даних.

DDL визначає або змінює структуру бази даних, таку як таблиці та стовпці. DML змінює дані, що зберігаються всередині цієї структури, за допомогою INSERT, UPDATE та DELETE. Ключова відмінність між структурою та контентом.

Підсумуйте цей пост за допомогою: