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

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.

