Polecenia SQL: DQL, DDL, DML, DCL i TCL z przykładami
⚡ Inteligentne podsumowanie
Polecenia SQL są pogrupowane w pięć podjęzyków, które zarządzają relacyjną bazą danych. DDL definiuje strukturę, DML zmienia dane, DCL kontroluje dostęp, TCL zarządza transakcjami, a DQL pobiera dane – każdy z nich ma swój własny zestaw instrukcji i składni.

Co to jest SQL?
SQL to język baz danych przeznaczony do wyszukiwania i zarządzania danymi w relacyjnej bazie danych.
SQL jest standardowym językiem zarządzania bazami danych. Wszystkie systemy RDBMS takie jak MySQL, Dostęp MS, OracleSybase, Postgres i SQL Server używają SQL jako standardowego języka baz danych. Język programowania SQL wykorzystuje różne polecenia do wykonywania różnych operacji. Poznamy polecenia DCL, TCL, DQL, DDL i DML w SQL wraz z przykładami.
Dlaczego warto korzystać z SQL?
Oto ważne powody korzystania z języka SQL:
- Pomaga użytkownikom uzyskać dostęp do danych w systemu RDBMS.
- Pomaga opisać dane.
- Umożliwia definiowanie danych w bazie danych i manipulowanie tymi konkretnymi danymi.
- Za pomocą poleceń SQL można tworzyć i usuwać bazy danych i tabele.
- Język SQL umożliwia korzystanie z funkcji w bazie danych oraz tworzenie widoków i procedur składowanych.
- Możesz ustawić uprawnienia do tabel, procedur i widoków.
Krótka historia SQL
Oto ważne punkty orientacyjne z historia SQL’a:
- 1970 – Dr Edgar F. „Ted” Codd opisał relacyjny model baz danych.
- 1974 – pojawił się język zapytań strukturalnych, pierwotnie nazywany SEQUEL IBM.
- 1979 - Oracle wydała pierwszą komercyjnie dostępną bazę danych opartą na języku SQL, opartą na IBMPrototyp badawczy Systemu R.
- 1986 – ANSI opublikowało pierwszy standard SQL, SQL-86.
- 1989 – Opublikowano pierwszą rewizję standardu SQL-89.
- 1992 – SQL-92 (SQL2) stał się główną podstawą, do której nadal odwołuje się większość baz danych.
- 1999 – wydano SQL:1999 (SQL3) z funkcjami takimi jak wyzwalacze, zapytania rekurencyjne i obiektowość.
- 2003 – W wersji SQL:2003 dodano funkcje okien, generatory sekwencji i funkcje związane z XML.
- 2006 – W SQL:2006 dodano obsługę języka zapytań XML (XQuery).
- 2008 – W SQL:2008 wprowadzono instrukcję TRUNCATE i wyzwalacze INSTEAD OF.
- 2011 – SQL:2011 ulepszono obsługę baz danych temporalnych.
- 2016 – W SQL:2016 dodano obsługę JSON i dopasowywanie wzorców wierszy (MATCH_RECOGNIZE).
- 2019 – SQL/MDA (część 15) dodał do standardu obsługę tablic wielowymiarowych.
- 2023 – W programie SQL:2023 dodano natywny typ danych JSON i zapytania dotyczące grafu właściwości (SQL/PGQ).
- 2024 – GQL, pierwszy nowy język baz danych ISO od czasów SQL, został opublikowany jako standard towarzyszący zapytaniom grafowym.
- 2026 – SQL:2023 pozostaje aktualnym standardem, a ISO/IEC pracuje nad kolejną wersją.
Typy poleceń SQL
Oto pięć typów powszechnie używanych poleceń SQL:
- Język definicji danych (DDL)
- Język manipulacji danymi (DML)
- Język kontroli danych (DCL)
- Język kontroli transakcji (TCL)
- Język zapytań o dane (DQL)

Poniższa tabela podsumowuje pięć kategorii, a następnie omawia je szczegółowo.
| Kategoria | Cel | Główne polecenia |
|---|---|---|
| DDL | Zdefiniuj strukturę | UTWÓRZ, USUŃ, ZMIEŃ, ODCINAJ |
| DML | Modyfikuj dane | WSTAW, AKTUALIZUJ, USUŃ |
| DCL | Kontrola dostępu | UDZIELIĆ, ODWOŁAĆ |
| TCL | Zarządzaj transakcjami | ZATWIERDŹ, WYCOFUJ, PUNKT ZAPISANIA |
| DQL | Pobierać dane | SELECT |
Co to jest DDL?
Język definicji danych (DDL) pomaga zdefiniować strukturę lub schemat bazy danych. Poznajmy polecenia DDL i ich składnię. Główne polecenia DDL w SQL to CREATE, DROP, ALTER i TRUNCATE.
TWORZENIE
Polecenie CREATE służy do definiowania struktury lub schematu bazy danych:
Składnia:
CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);
Na przykład:
Create database university; Create table students; Create view for_students;
DROP
Polecenie DROP usuwa tabele i bazy danych z systemu RDBMS.
Składnia:
DROP TABLE ;
Na przykład:
Drop object_type object_name; Drop database university; Drop table student;
ZMIANA
Polecenie ALTER umożliwia zmianę struktury bazy danych.
Składnia: aby dodać nową kolumnę w tabeli:
ALTER TABLE table_name ADD column_name COLUMN-definition;
Aby zmodyfikować istniejącą kolumnę w tabeli:
ALTER TABLE MODIFY(COLUMN DEFINITION....);
Na przykład:
Alter table guru99 add subject varchar;
ŚCIĘTY
Polecenie to służy do usunięcia wszystkich wierszy tabeli i zwolnienia miejsca zawierającego tabelę.
Składnia:
TRUNCATE TABLE table_name;
Przykład:
TRUNCATE table students;
Co to jest język manipulacji danymi?
Język manipulacji danymi (DML) umożliwia modyfikację instancji bazy danych poprzez wstawianie, modyfikowanie i usuwanie danych. Odpowiada za wykonywanie wszelkiego rodzaju modyfikacji danych w bazie danych. Najważniejsze polecenia DML w SQL to:
- INSERT
- Aktualizacja
- DELETE
INSERT
To polecenie służy do wstawiania danych do wierszy tabeli.
Składnia:
INSERT INTO TABLE_NAME (col1, col2, col3,.... col N) VALUES (value1, value2, value3, .... valueN); Or INSERT INTO TABLE_NAME VALUES (value1, value2, value3, .... valueN);
Na przykład:
INSERT INTO students (RollNo, FIrstName, LastName) VALUES ('60', 'Tom', Erichsen');
Aktualizacja
To polecenie służy do aktualizacji lub modyfikacji wartości kolumny w tabeli.
Składnia:
UPDATE table_name SET [column_name1= value1,...column_nameN = valueN] [WHERE CONDITION]
Na przykład:
UPDATE students SET FirstName = 'Jhon', LastName= 'Wick' WHERE StudID = 3;
DELETE
To polecenie służy do usuwania jednego lub większej liczby wierszy z tabeli.
Składnia:
DELETE FROM table_name [WHERE condition];
Na przykład:
DELETE FROM students WHERE FirstName = 'Jhon';
Co to jest DCL?
DCL (Data Control Language) zawiera polecenia takie jak GRANT i REVOKE, które są przydatne do nadawania uprawnień. Inne polecenia kontrolują parametry systemu bazy danych.
Grant
To polecenie służy do nadania użytkownikowi uprawnień dostępu do bazy danych.
Składnia:
GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;
Na przykład:
GRANT SELECT ON Users TO'Tom'@'localhost;
Revoke
Polecenie to przydaje się do odbierania uprawnień użytkownikowi.
Składnia:
REVOKE privilege_nameON object_nameFROM {user_name |PUBLIC |role_name}
Na przykład:
REVOKE SELECT, UPDATE ON student FROM BCA, MCA;
Co to jest TCL?
Polecenia języka kontroli transakcji (TCL) obsługują transakcje w bazie danych. Działają one bezpośrednio na stanach opisanych w sekcji zarządzanie transakcjami.
Popełnić
Polecenie to służy do zapisania wszystkich transakcji do bazy danych.
Składnia:
Commit;
Na przykład:
DELETE FROM Students WHERE RollNo =25; COMMIT;
Wycofywanie
Polecenie Rollback umożliwia cofnięcie transakcji, które nie zostały jeszcze zapisane w bazie danych.
Składnia:
ROLLBACK;
Przykład:
DELETE FROM Students WHERE RollNo =25;
PUNKT ZAPISU
To polecenie pomaga ustawić punkt zapisu w ramach transakcji.
Składnia:
SAVEPOINT SAVEPOINT_NAME;
Przykład:
SAVEPOINT RollNo;
Co to jest DQL?
Język zapytań danych (DQL) służy do pobierania danych z bazy danych. Wykorzystuje tylko jedno polecenie: SELECT.
SELECT
To polecenie pomaga wybrać atrybuty na podstawie warunku opisanego w klauzuli WHERE.
Składnia:
SELECT expressions FROM TABLES WHERE conditions;
Na przykład:
SELECT FirstName FROM Student WHERE RollNo > 15;
USUŃ vs OBCNIJ vs USUŃ
Wszystkie te trzy polecenia usuwają dane, ale różnią się tym, co usuwają i czy można cofnąć działanie. Mylenie ich to częsty błąd początkujących.
| WYGLĄD | DELETE | ŚCIĘTY | DROP |
|---|---|---|---|
| Kategoria | DML | DDL | DDL |
| Usuwa | Wybrane wiersze | Wszystkie rzędy | Cały stół |
| klauzula GDZIE | Dozwolony | Niedozwolone | Nie dotyczy |
| Wycofywanie | Możliwy | Zwykle nie | Niemożliwe |
| Struktura zachowana | Tak | Tak | Nie |
Krótko mówiąc, użyj polecenia DELETE, aby usunąć konkretne wiersze, TRUNCATE, aby szybko opróżnić tabelę, i DROP, aby całkowicie usunąć tabelę.
