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.

  • 🏗️. DOF: CREATE, DROP, ALTER i TRUNCATE definiują i zmieniają schemat tabel i baz danych.
  • ✏️ DML: Polecenia INSERT, UPDATE i DELETE modyfikują wiersze przechowywane w tabeli.
  • 🔑 DCL: GRANT i REVOKE nadają i odbierają uprawnienia dostępu do obiektów bazy danych.
  • 🔄 TCL: COMMIT, ROLLBACK i SAVEPOINT kontrolują sposób zapisywania i cofania transakcji.
  • 🔍 Jakość życia: SELECT pobiera wiersze przefiltrowane zgodnie z klauzulą ​​WHERE.
  • 🗄️ Język standardowy: Każdy główny system RDBMS, od MySQL do Oracle i SQL Server, używa SQL.
  • ⚠️ Kluczowy kontrast: Zarówno TRUNCATE, jak i DELETE czyszczą wiersze, ale TRUNCATE jest poleceniem DDL i nie czyści wiersz po wierszu.

Polecenia SQL DQL DDL DML DCL TCL

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)
Typy poleceń SQL
Rodzaje SQL

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ę.

FAQ

DELETE to polecenie DML, które usuwa wybrane wiersze i umożliwia ich wycofanie. TRUNCATE to polecenie DDL, które usuwa wszystkie wiersze jednocześnie, jest szybsze i zazwyczaj nie można go wycofać.

Należą do języka kontroli danych (DCL). GRANT przyznaje użytkownikowi uprawnienia do obiektu bazy danych, a REVOKE je odbiera, co razem kontroluje dostęp i bezpieczeństwo.

Tak. Modele text-to-SQL przekształcają żądanie języka naturalnego w instrukcję SELECT lub inną instrukcję opartą na znanym schemacie. Zawsze przejrzyj wygenerowane zapytanie przed uruchomieniem go na danych produkcyjnych.

Tak. Odczytując plan wykonania, AI może zasugerować indeks, przepisane łączenie lub zmianę w kodzie WHERE, która obniży koszty. Sugestia powinna zostać przetestowana, ponieważ najszybszy plan zależy od danych.

DDL definiuje lub zmienia strukturę bazy danych, taką jak tabele i kolumny. DML zmienia dane przechowywane w tej strukturze za pomocą instrukcji INSERT, UPDATE i DELETE. Kluczowa różnica polega na strukturze i zawartości.

Podsumuj ten post następująco: