SQL-käsud: DQL, DDL, DML, DCL ja TCL koos näidetega

⚡ Nutikas kokkuvõte

SQL-käsud on jaotatud viide alamkeelde, mis haldavad relatsioonandmebaase. DDL defineerib struktuuri, DML muudab andmeid, DCL kontrollib juurdepääsu, TCL haldab tehinguid ja DQL hangib andmeid, igaühel oma lausete ja süntaksi komplekt.

  • 🏗️ DDL: CREATE, DROP, ALTER ja TRUNCATE defineerivad ja muudavad tabelite ja andmebaaside skeemi.
  • ✏️ DML: INSERT, UPDATE ja DELETE muudavad tabelis hoitavaid ridu.
  • 🔑 DCL: GRANT ja REVOKE annavad ja eemaldavad andmebaasiobjektidele juurdepääsuõigusi.
  • 🔄 TLC: COMMIT, ROLLBACK ja SAVEPOINT kontrollivad tehingute salvestamist või tagasivõtmist.
  • 🔍 Otsene kvaliteedikontroll: SELECT otsib ridu, mis on filtreeritud WHERE-klausli abil.
  • 🗄️ Standardkeel: Iga suurem RDBMS alates MySQL et Oracle ja SQL Server kasutab SQL-i.
  • ⚠️ Peamine kontrast: Nii TRUNCATE kui ka DELETE tühjendavad ridu, aga TRUNCATE on DDL ja mitte rida-realt kustutamine.

SQL-käsud, DQL, DDL, DML, DCL, TCL

Mis on SQL?

SQL on andmebaasi keel, mis on mõeldud andmete otsimiseks ja haldamiseks relatsiooniandmebaasis.

SQL on andmebaasihalduse standardkeel. Kõik RDBMS-süsteemid meeldivad MySQL, MS Access, OracleSybase, Postgres ja SQL Server kasutavad SQL-i oma standardse andmebaasikeelena. SQL-programmeerimiskeel kasutab erinevate toimingute jaoks mitmesuguseid käske. Tutvume näidete abil SQL-i DCL-, TCL-, DQL-, DDL- ja DML-käskudega.

Miks kasutada SQL-i?

Siin on SQL-i kasutamise olulised põhjused:

  • See aitab kasutajatel andmetele juurde pääseda RDBMS süsteem.
  • See aitab teil andmeid kirjeldada.
  • See võimaldab teil määratleda andmed andmebaasis ja manipuleerida nende konkreetsete andmetega.
  • SQL-käskude abil saate luua ja kustutada andmebaase ja tabeleid.
  • SQL võimaldab teil kasutada funktsioone andmebaasis ning luua vaateid ja salvestatud protseduure.
  • Saate määrata õigused tabelitele, protseduuridele ja vaadetele.

SQL-i lühiajalugu

Siin on olulised vaatamisväärsused alates SQL-i ajalugu:

  • 1970 – Dr Edgar F. “Ted” Codd kirjeldas andmebaaside relatsioonimudelit.
  • 1974 – Ilmus struktureeritud päringukeel (Structured Query Language), algselt nimega SEQUEL aadressil IBM.
  • 1979 - Oracle avaldas esimese kaubanduslikult saadaval oleva SQL-põhise andmebaasi, mis põhines IBM'i System R uurimisprototüüp.
  • 1986 – ANSI avaldas esimese SQL-standardi SQL-86.
  • 1989 – Standardi esimese revisjonina saabus SQL-89.
  • 1992 – SQL-92-st (SQL2) sai peamine baasartikel, millele enamik andmebaase tänapäevalgi viitab.
  • 1999 – SQL:1999 (SQL3) turuletoomine koos selliste funktsioonidega nagu päästikud, rekursiivsed päringud ja objektorienteeritud lähenemine.
  • 2003 – SQL:2003 lisas aknafunktsioonid, jadageneraatorid ja XML-iga seotud funktsioonid.
  • 2006 – SQL:2006 lisas toe XML-päringukeelele (XQuery).
  • 2008 – SQL:2008 tutvustas TRUNCATE-lauset ja INSTEAD OF-päästikuid.
  • 2011 – SQL:2011 täiustas tuge ajalistele andmebaasidele.
  • 2016 – SQL:2016 lisas JSON-toe ja reamustrite sobitamise (MATCH_RECOGNIZE).
  • 2019 – SQL/MDA (15. osa) lisas standardile mitmemõõtmeliste massiivide toe.
  • 2023 – SQL:2023 lisas natiivse JSON-andmetüübi ja omaduste graafiku päringud (SQL/PGQ).
  • 2024 – GQL, esimene uus ISO andmebaasikeel pärast SQL-i, avaldati graafikupäringute kaasstandardina.
  • 2026 – SQL:2023 jääb kehtivaks standardiks, mille järgmist versiooni töötab välja ISO/IEC.

SQL-käskude tüübid

Siin on viis tüüpi laialdaselt kasutatavaid SQL-käske:

  • Andmete määratlemise keel (DDL)
  • Andmemanipulatsiooni keel (DML)
  • Andmehalduskeel (DCL)
  • Tehingute juhtimiskeel (TCL)
  • Andmepäringu keel (DQL)
SQL-käskude tüübid
SQL-i tüübid

Allolev tabel võtab kokku viis kategooriat enne igaüht üksikasjalikumat käsitlemist.

Kategooria Eesmärk Peamised käsud
DDL Määrake struktuur LOO, KUSTUTA, MUUDA, KÄRBI
DML Andmete muutmine LISAGE, UUENDAGE, KUSTUTAGE
DCL Juurdepääsu juhtimine ANDA, TÜHISTA
Tallinna Keskraamatukogu Tehingute haldamine KINNITUS, TAGASIPÖÖRDUMINE, SALVESTAMISPUNKTI
DQL Andmete hankimine SELECT

Mis on DDL?

Andmedefinitsioonikeel aitab teil määratleda andmebaasi struktuuri või skeemi. Tutvume DDL-käskudega koos süntaksiga. SQL-i peamised DDL-käsud on CREATE, DROP, ALTER ja TRUNCATE.

LUUA

CREATE-lauset kasutatakse andmebaasi struktuuri või skeemi määratlemiseks:

süntaksit:

CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);

Näiteks:

Create database university;
Create table students;
Create view for_students;

DROP

DROP-käsk eemaldab tabeleid ja andmebaase RDBMS-ist.

süntaksit:

DROP TABLE ;

Näiteks:

Drop object_type object_name;
Drop database university;
Drop table student;

VANUS

Käsk ALTER võimaldab teil muuta andmebaasi struktuuri.

süntaksit: tabelisse uue veeru lisamiseks:

ALTER TABLE table_name ADD column_name COLUMN-definition;

Tabeli olemasoleva veeru muutmiseks tehke järgmist.

ALTER TABLE MODIFY(COLUMN DEFINITION....);

Näiteks:

Alter table guru99 add subject varchar;

KÕRBI

Seda käsku kasutatakse tabelist kõigi ridade kustutamiseks ja tabelit sisaldava ruumi vabastamiseks.

süntaksit:

TRUNCATE TABLE table_name;

Näide:

TRUNCATE table students;

Mis on andmete manipuleerimise keel?

Andmemanipulatsioonikeel (DML) võimaldab teil andmebaasi eksemplari muuta, sisestades, muutes ja kustutades selle andmeid. See vastutab igat tüüpi andmete muutmise eest andmebaasis. Olulisemad DML-käsud SQL-is on:

  • INSERT
  • UPDATE
  • Kustuta

INSERT

Seda lauset kasutatakse andmete sisestamiseks tabeli ridadesse.

süntaksit:

INSERT INTO TABLE_NAME (col1, col2, col3,.... col N)
VALUES (value1, value2, value3, .... valueN);
Or
INSERT INTO TABLE_NAME
VALUES (value1, value2, value3, .... valueN);

Näiteks:

INSERT INTO students (RollNo, FIrstName, LastName) VALUES ('60', 'Tom', Erichsen');

UPDATE

Seda käsku kasutatakse tabeli veeru väärtuse värskendamiseks või muutmiseks.

süntaksit:

UPDATE table_name SET [column_name1= value1,...column_nameN = valueN] [WHERE CONDITION]

Näiteks:

UPDATE students
SET FirstName = 'Jhon', LastName= 'Wick'
WHERE StudID = 3;

Kustuta

Seda käsku kasutatakse tabelist ühe või mitme rea eemaldamiseks.

süntaksit:

DELETE FROM table_name [WHERE condition];

Näiteks:

DELETE FROM students
WHERE FirstName = 'Jhon';

Mis on DCL?

DCL (Data Control Language) sisaldab käske nagu GRANT ja REVOKE, mis on kasulikud õiguste ja lubade andmiseks. Teised käsud kontrollivad andmebaasisüsteemi parameetreid.

Grant

Seda käsku kasutatakse kasutajale andmebaasile juurdepääsuõiguste andmiseks.

süntaksit:

GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;

Näiteks:

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

Revkorras

See käsk on kasulik kasutajalt õiguste tagasivõtmiseks.

süntaksit:

REVOKE privilege_nameON object_nameFROM {user_name |PUBLIC |role_name}

Näiteks:

REVOKE SELECT, UPDATE ON student FROM BCA, MCA;

Mis on TCL?

Tehingute juhtimiskeele (TCL) käsud tegelevad andmebaasisiseste tehingutega. Need töötavad otse allpool kirjeldatud olekutega. tehingute juhtimine.

toime panema

Seda käsku kasutatakse kõigi tehingute salvestamiseks andmebaasi.

süntaksit:

Commit;

Näiteks:

DELETE FROM Students
WHERE RollNo =25;
COMMIT;

Tagastus

Tagasivõtmise käsk võimaldab teil tagasi võtta tehinguid, mida pole veel andmebaasi salvestatud.

süntaksit:

ROLLBACK;

Näide:

DELETE FROM Students
WHERE RollNo =25;

SAVEPOINT

See käsk aitab teil tehingu sees salvestuspunkti määrata.

süntaksit:

SAVEPOINT SAVEPOINT_NAME;

Näide:

SAVEPOINT RollNo;

Mis on DQL?

Andmebaasist andmete toomiseks kasutatakse andmepäringukeelt (DQL). See kasutab ainult ühte käsku: SELECT.

SELECT

See käsk aitab teil valida atribuute WHERE-klausliga kirjeldatud tingimuse põhjal.

süntaksit:

SELECT expressions
FROM TABLES
WHERE conditions;

Näiteks:

SELECT FirstName
FROM Student
WHERE RollNo > 15;

KUSTUTA vs KÄRBI vs KUKSTA

Need kolm käsku eemaldavad kõik andmeid, kuid erinevad selle poolest, mida nad eemaldavad ja kas toimingut saab tagasi võtta. Nende segi ajamine on algajate seas levinud viga.

Aspekt Kustuta KÕRBI DROP
Kategooria DML DDL DDL
Eemaldab Valitud read Kõik read Kogu laud
KUS klausel lubatud Ei ole lubatud ei ole kohaldatav
Tagastus Võimalik Tavaliselt mitte Pole võimalik
Struktuur säilis Jah Jah Ei

Lühidalt, DELETE abil saab kustutada teatud ridu, TRUNCATE abil saab tabeli kiiresti tühjendada ja DROP abil saab tabeli täielikult eemaldada.

KKK

DELETE on DML-käsk, mis eemaldab valitud read ja mida saab tagasi pöörata. TRUNCATE on DDL-käsk, mis eemaldab kõik read korraga, on kiirem ja mida tavaliselt ei saa tagasi pöörata.

Need kuuluvad andmejuhtimiskeele (DCL) hulka. GRANT annab kasutajale andmebaasiobjekti õigused ja REVOKE võtab need õigused ära, mis koos kontrollivad juurdepääsu ja turvalisust.

Jah. Tekstist SQL-iks mudelid muudavad loomulikus keeles päringu SELECT- või muuks teadaoleva skeemi vastaseks lauseks. Enne genereeritud päringu käivitamist tootmisandmetel vaadake see alati üle.

Jah. Täitmisplaani lugedes saab tehisintellekt soovitada indeksit, ümberkirjutatud liitumist või WHERE-muudatust, mis vähendab kulusid. Soovitust tuleks testida, kuna kiireim plaan sõltub andmetest.

DDL defineerib või muudab andmebaasi struktuuri, näiteks tabeleid ja veerge. DML muudab selles struktuuris hoitavaid andmeid INSERT, UPDATE ja DELETE toimingute abil. Struktuur ja sisu on peamine erinevus.

Võta see postitus kokku järgmiselt: