SQL-komennot: DQL, DDL, DML, DCL ja TCL esimerkkeineen

⚡ Älykäs yhteenveto

SQL-komennot on ryhmitelty viiteen relaatiotietokantaa hallinnoivaan alikieleen. DDL määrittelee rakenteen, DML muuttaa tietoja, DCL hallitsee käyttöoikeuksia, TCL hallitsee tapahtumia ja DQL hakee tietoja, joilla kullakin on omat lause- ja syntaksinsa.

  • 🏗️ DOF: CREATE-, DROP-, ALTER- ja TRUNCATE-käskyillä määritetään ja muutetaan taulukoiden ja tietokantojen skeemaa.
  • ✏️ DML: INSERT, UPDATE ja DELETE muokkaavat taulukon sisällä olevia rivejä.
  • 🔑 DCL: GRANT ja REVOKE antavat ja poistavat tietokantaobjektien käyttöoikeuksia.
  • 🔄 TCL: COMMIT, ROLLBACK ja SAVEPOINT ohjaavat tapahtumien tallentamista tai kumoamista.
  • 🔍 DQL: SELECT hakee rivit, jotka on suodatettu WHERE-lausekkeen avulla.
  • 🗄️ Standardikieli: Jokainen merkittävä RDBMS, alkaen MySQL että Oracle ja SQL Server käyttää SQL:ää.
  • ⚠️ Keskeinen kontrasti: Sekä TRUNCATE että DELETE tyhjentävät rivejä, mutta TRUNCATE on DDL-funktio eikä rivi riviltä -funktio.

SQL-komennot, DQL, DDL, DML, DCL, TCL

Mikä on SQL?

SQL on tietokantakieli, joka on suunniteltu tietojen hakemiseen ja hallintaan relaatiotietokannassa.

SQL on tietokannan hallinnan vakiokieli. Kaikki RDBMS-järjestelmät pitävät MySQL, MS Access, OracleSybase, Postgres ja SQL Server käyttävät SQL:ää vakiotietokantakielenään. SQL-ohjelmointikieli käyttää erilaisia ​​komentoja eri toimintoihin. Opimme SQL:n DCL-, TCL-, DQL-, DDL- ja DML-komennoista esimerkkien avulla.

Miksi käyttää SQL:ää?

Tässä on tärkeitä syitä SQL:n käyttöön:

  • Se auttaa käyttäjiä pääsemään käsiksi tietoihin RDBMS-järjestelmä.
  • Se auttaa sinua kuvailemaan dataa.
  • Sen avulla voit määrittää tietokannan tiedot ja käsitellä kyseisiä tietoja.
  • SQL-komentojen avulla voit luoda ja poistaa tietokantoja ja taulukoita.
  • SQL:n avulla voit käyttää funktioita tietokannassa sekä luoda näkymiä ja tallennettuja proseduureja.
  • Voit määrittää käyttöoikeuksia taulukoille, menettelyille ja näkymille.

SQL:n lyhyt historia

Tässä on tärkeitä maamerkkejä ajalta SQL:n historiasta:

  • 1970 – Tohtori Edgar F. "Ted" Codd kuvaili tietokantojen relaatiomallia.
  • 1974 – Structured Query Language ilmestyi, alun perin nimeltään SEQUEL osoitteessa IBM.
  • 1979 - Oracle julkaisi ensimmäisen kaupallisesti saatavilla olevan SQL-pohjaisen tietokannan, joka perustui IBMn System R -tutkimusprototyyppi.
  • 1986 – ANSI julkaisi ensimmäisen SQL-standardin, SQL-86:n.
  • 1989 – SQL-89 saapui standardin ensimmäisenä versiona.
  • 1992 – SQL-92:sta (SQL2) tuli tärkein perusohjelmointikieli, johon useimmat tietokannat edelleen viittaavat.
  • 1999 – SQL:1999 (SQL3) julkaistiin ominaisuuksilla, kuten liipaisimet, rekursiiviset kyselyt ja oliopohjaisuus.
  • 2003 – SQL:2003 lisäsi ikkunafunktioita, sekvenssigeneraattoreita ja XML:ään liittyviä ominaisuuksia.
  • 2006 – SQL:2006 lisäsi tuen XML-kyselykielelle (XQuery).
  • 2008 – SQL:2008 esitteli TRUNCATE-lausekkeen ja INSTEAD OF -liipaisimet.
  • 2011 – SQL:2011 paransi tukea ajallisille tietokannoille.
  • 2016 – SQL:2016 lisäsi JSON-tuen ja rivikuvioiden täsmäytyksen (MATCH_RECOGNIZE).
  • 2019 – SQL/MDA (osa 15) lisäsi standardiin moniulotteisen taulukon tuen.
  • 2023 – SQL:2023 lisäsi natiivin JSON-tietotyypin ja ominaisuusgraafikyselyt (SQL/PGQ).
  • 2024 – GQL, ensimmäinen uusi ISO-tietokantakieli SQL:n jälkeen, julkaistiin graafikyselyiden kumppanistandardina.
  • 2026 – SQL:2023 on edelleen nykyinen standardi, ja seuraavaa versiota kehitetään parhaillaan ISO/IEC:ssä.

SQL-komentojen tyypit

Tässä on viisi laajalti käytettyä SQL-komentotyyppiä:

  • Data Definition Language (DDL)
  • Data Manipulation Language (DML)
  • Data Control Language (DCL)
  • Transaction Control Language (TCL)
  • Tietokyselykieli (DQL)
SQL-komentojen tyypit
SQL:n tyypit

Alla oleva taulukko tiivistää viisi luokkaa ennen kuin kutakin käsitellään yksityiskohtaisesti.

Luokka Tarkoitus Pääkomennot
DDL Määrittele rakenne LUO, PUDOTA, MUUTA, LYHENNY
DML Muokkaa tietoja LISÄÄ, PÄIVITÄ, POISTA
DCL Hallitse pääsyä MYÖNTÄÄ, PERUUTTAA
TCL Hallinnoi tapahtumia VAHVISTUS, PERUUTUS, TALLENNUSPISTE
DQL Hae tiedot VALITSE

Mikä on DDL?

Data Definition Language auttaa sinua määrittelemään tietokannan rakenteen tai skeeman. Tutustutaanpa DDL-komentoihin ja niiden syntaksiin. SQL:n tärkeimmät DDL-komennot ovat CREATE, DROP, ALTER ja TRUNCATE.

LUODA

CREATE-lausetta käytetään tietokannan rakenteen tai skeeman määrittämiseen:

Syntaksi:

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

Esimerkiksi:

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

DROP

DROP-komento poistaa taulukoita ja tietokantoja RDBMS:stä.

Syntaksi:

DROP TABLE ;

Esimerkiksi:

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

MUUTTAA

ALTER-komennolla voit muuttaa tietokannan rakennetta.

Syntaksi: lisätäksesi uuden sarakkeen taulukkoon:

ALTER TABLE table_name ADD column_name COLUMN-definition;

Taulukon olemassa olevan sarakkeen muokkaaminen:

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

Esimerkiksi:

Alter table guru99 add subject varchar;

KATKAISTA

Tätä komentoa käytetään poistamaan kaikki rivit taulukosta ja vapauttamaan taulukon sisältävä tila.

Syntaksi:

TRUNCATE TABLE table_name;

Esimerkiksi:

TRUNCATE table students;

Mikä on tiedonkäsittelykieli?

Data Manipulation Language (DML) mahdollistaa tietokannan instanssin muokkaamisen lisäämällä, muokkaamalla ja poistamalla sen tietoja. Se vastaa kaikenlaisten tietojen muokkaamisesta tietokannassa. Tärkeimmät DML-komennot SQL:ssä ovat:

  • INSERT
  • PÄIVITYS
  • POISTA

INSERT

Tätä lausetta käytetään tietojen lisäämiseen taulukon riveille.

Syntaksi:

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

Esimerkiksi:

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

PÄIVITYS

Tätä komentoa käytetään taulukon sarakkeen arvon päivittämiseen tai muokkaamiseen.

Syntaksi:

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

Esimerkiksi:

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

POISTA

Tätä komentoa käytetään yhden tai useamman rivin poistamiseen taulukosta.

Syntaksi:

DELETE FROM table_name [WHERE condition];

Esimerkiksi:

DELETE FROM students
WHERE FirstName = 'Jhon';

Mikä on DCL?

DCL (Data Control Language) sisältää komentoja, kuten GRANT ja REVOKE, jotka ovat hyödyllisiä oikeuksien ja lupien myöntämiseen. Muut komennot ohjaavat tietokantajärjestelmän parametreja.

Grant

Tätä komentoa käytetään antamaan käyttäjälle käyttöoikeudet tietokantaan.

Syntaksi:

GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;

Esimerkiksi:

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

Revokei

Tämä komento on hyödyllinen käyttäjän oikeuksien takaisinottamiseen.

Syntaksi:

REVOKE privilege_nameON object_nameFROM {user_name |PUBLIC |role_name}

Esimerkiksi:

REVOKE SELECT, UPDATE ON student FROM BCA, MCA;

Mikä on TCL?

Transaktionhallintakielen eli TCL-komennot käsittelevät tietokannan sisällä olevia tapahtumia. Ne työskentelevät suoraan kohdassa kuvattujen tilojen kanssa. transaktioiden hallinta.

Commit

Tätä komentoa käytetään kaikkien tapahtumien tallentamiseen tietokantaan.

Syntaksi:

Commit;

Esimerkiksi:

DELETE FROM Students
WHERE RollNo =25;
COMMIT;

Hintojen lasku

Rollback-komennolla voit kumota tapahtumia, joita ei ole vielä tallennettu tietokantaan.

Syntaksi:

ROLLBACK;

Esimerkiksi:

DELETE FROM Students
WHERE RollNo =25;

SAVEPOINT

Tämän komennon avulla voit asettaa tallennuspisteen tapahtuman sisällä.

Syntaksi:

SAVEPOINT SAVEPOINT_NAME;

Esimerkiksi:

SAVEPOINT RollNo;

Mikä on DQL?

Data Query Language (DQL) -kieltä käytetään tietojen hakemiseen tietokannasta. Se käyttää vain yhtä komentoa, SELECT.

VALITSE

Tämä komento auttaa sinua valitsemaan määritteet WHERE-lausekkeen kuvaaman ehdon perusteella.

Syntaksi:

SELECT expressions
FROM TABLES
WHERE conditions;

Esimerkiksi:

SELECT FirstName
FROM Student
WHERE RollNo > 15;

POISTA vs. LYHENNETTY vs. PUDOTA

Nämä kolme komentoa poistavat kaikki tietoja, mutta ne eroavat toisistaan ​​siinä, mitä ne poistavat ja voidaanko toiminto peruuttaa. Niiden sekoittaminen on yleinen aloittelijoiden virhe.

Aspect POISTA KATKAISTA DROP
Luokka DML DDL DDL
Poistaa Valitut rivit Kaikki rivit Koko pöytä
WHERE-lauseke Sallittu Ei sallittu Ei sovellettavissa
Hintojen lasku mahdollinen Yleensä ei Ei mahdollista
Rakenne säilytetty Kyllä Kyllä Ei

Lyhyesti sanottuna, käytä DELETE-komentoa poistaaksesi tiettyjä rivejä, TRUNCATE-komentoa tyhjentääksesi taulukon nopeasti ja DROP-komentoa hylätäksesi taulukon kokonaan.

UKK

DELETE on DML-komento, joka poistaa valitut rivit ja jonka voi peruuttaa. TRUNCATE on DDL-komento, joka poistaa kaikki rivit kerralla, on nopeampi eikä sitä yleensä voida peruuttaa.

Ne kuuluvat Data Control Languageen eli DCL:ään. GRANT antaa käyttäjälle oikeudet tietokanta-objektiin ja REVOKE poistaa nämä oikeudet, jotka yhdessä hallitsevat käyttöoikeuksia ja suojausta.

Kyllä. Tekstistä SQL:ään -mallit muuttavat luonnollisen kielen pyynnön SELECT- tai muuksi lausekkeeksi tunnettua skeemaa vasten. Tarkista aina luotu kysely ennen sen suorittamista tuotantodatalle.

Kyllä. Lukemalla suoritussuunnitelman tekoäly voi ehdottaa indeksiä, uudelleenkirjoitettua liitosta tai WHERE-muutosta, joka alentaa kustannuksia. Ehdotusta tulisi testata, koska nopein suunnitelma riippuu datasta.

DDL määrittelee tai muuttaa tietokannan rakennetta, kuten taulukoita ja sarakkeita. DML muuttaa rakenteen sisällä olevia tietoja INSERT-, UPDATE- ja DELETE-komentojen avulla. Rakenne ja sisältö ovat keskeisiä eroja.

Tiivistä tämä viesti seuraavasti: