Programmeerimine

SQL – kiirjuhend algajatele

30. oktoober 2021

SQL tähendab struktureeritud päringu keelt. See on domeenispetsiifiline keel, mida kasutatakse andmebaasi salvestatud andmete toomiseks. SQL käsitleb failis salvestatud andmeid relatsioonilise andmebaasi haldussüsteem (RDBMS), st andmed, mis hõlmavad olemite ja muutujate vahelisi suhteid. Struktureeritud päringukeel ühildub kõigi peamiste keeltega operatsioonisüsteemid .

Varem tehti andmetega manipuleerimist kasutades ISAM (indekseeritud järjestikuse juurdepääsu meetod) ja VSAM (virtuaalsele salvestusruumile juurdepääsu meetod) . Struktureeritud päringukeelel on rohkem eeliseid kui ISAMil ja VSM-il. SQL-is ühe käsu abil saate hankida mitu kirjet või andmeid. Teine eelis on see, et ei pea täpsustama, kuidas andmeteni jõuda.

Sisukord

Mis on SQL?

SQL on andmebaasi loomise, manipuleerimise ja haldamise keel. See aitab ka andmeid sisestada, kustutada või muuta. See keel sisaldab mitut allkeelt, näiteks andmete määratlemise keel (DDL) , andmete manipuleerimise keel (DML) , andmepäringu keel (DQL) , ja andmekontrolli keel (DCL) .

SQL koosneb andmepäringust, andmedefinitsioonist, andmetega manipuleerimisest ja andmetele juurdepääsu juhtimisest. Andmepäring on käsk, mida kasutatakse mis tahes andmete toomiseks andmebaasist. Andmete määratlemine hõlmab andmebaasi skeemi määratlemist ja andmetega manipuleerimine hõlmab andmete sisestamist, värskendamist ja kustutamist.

1986. aastal sai SQL Ameerika Riiklik Standardiinstituut (ANSI) standard. Järgmisel aastal sai sellest Rahvusvaheline Standardiorganisatsioon (ISO) standard. 1970. aastal Donald D. Chamberlin ja Raymond F. Boyce arendas SQL-i IBMis.

Varem oli see tuntud kui SEQUEL (Structured English Query Language). See oli spetsiaalselt loodud IBMi andmete salvestamiseks ja toomiseks. SQL-i versioone on välja antud aastatel 1989, 1992, 1996, 1999, 2003, 2006, 2008, 2011 ja 2016.

SQL on kõigi relatsiooniliste andmebaasihaldussüsteemide (nt MySQL, Oracle, Sybase, SQL Server, MS Access, Postgres ja Informix) põhikeel. Selle päringumurde kasutamisel on mitmeid eeliseid. SQL võimaldab kasutajatel pääseda ligi mis tahes relatsioonilise andmebaasi haldussüsteemi teabele.

Kasutajad saavad SQL-i abil andmeid määratleda, muuta või kustutada. Saate selle murde manustada ka mis tahes muusse programmeerimiskeelde, kus andmete otsimine on vajalik. See võimaldab kasutajatel luua ja seada õigusi salvestatud protseduuridele, funktsioonidele ja vaadetele.

Nüüd teame SQL-i ja selle ajalugu. Keskendume nüüd relatsioonilise andmebaasi haldussüsteemile (RDBMS). PL/SQL, Protseduurikeele laiendus SQL-ile , aitab laiendada SQL-i ja pakub sellele protseduurilisi võimalusi

RDBMS-i andmebaasid

Oleme näinud, et SQL-i kasutavad paljud RDBMS-i andmebaasid, nagu MySQL, SQL Server, Oracle, MS Access jne. Seetõttu tutvustame selles jaotises mõnda RDBMS-i andmebaasi. Näeme iga andmebaasi funktsioone ja siis saame tunnistada nende erinevust.

üks. MySQL:

Rootsi ettevõte MySQL AB töötas välja selle MySQL andmebaas, mis on tasuta kasutatav ja avatud lähtekoodiga. MySQL ühildub kõigi suuremate süsteemidega, nagu Microsoft Windows, Linux , Unixi ja macOS operatsioonisüsteemid. Saate kasutada selle kommerts- või mitteärilisi versioone. Vastavalt versioonidele pakutakse teile funktsioone. See sisaldab tugevat, kiiremat, mitme lõimega ja mitme kasutajaga andmebaasiserverit.

1994. aastal töötasid Micheal Widenius ja David Axmark välja MySQL-i ja seda hääldatakse 'minu ess-que-ell' kontekstis. 23. mail 1995 lasti välja MySQL-i andmebaasi esimene väljalase. See andmebaas ühildus Windowsi süsteemiga töötamiseks 8. jaanuaril 1998. See avaldati esmakordselt Windows 95 ja NT jaoks.

The MySQL versioon 3.23: beeta anti välja juunist 2000 kuni jaanuarini 2001. Järgmine versioon, 4.0: beeta, käivitati augustist 2002 kuni märtsini 2003. Juunist 2004 kuni oktoobrini 2004 anti välja versioon 4.1: beeta. Järgmist versiooni, 5.1: beeta, toodeti märtsist 2005 kuni oktoobrini 2005. Hiljem, 2008. aastal omandas Sun Microsystems MySQL-i ja seejärel käivitati uusim versioon 5.2: beeta.

Funktsioonid:

MySQL pakub suurt jõudlust, kõrget kättesaadavust ja paindlikkust millegi käitamiseks. See toetab ka võimsate tehingute sooritamist. Kõik MySQL-i andmebaasis olevad andmed on kaitstud ja kõrge turvalisusega. See on vabalt saadaval ja avatud lähtekoodiga.

kaks. Oracle:

Oraakel on üks laialdaselt kasutatavaid relatsiooniandmebaase, millel on mitme kasutajaga ja suured haldussüsteemid. Oracle Corporation käivitas Oracle'i relatsiooniandmebaasi. See DBMS sobib kõige paremini kliendi/serveri toimingute jaoks. Mitmed kliendid saavad võrgu kaudu andmetele juurde pääseda ja neid saata. Oracle ühildub kliendi- ja serverisüsteemidega, nagu UNIX, UnixWare, OS/2, NetWare ja MSDOS.

Larry Ellison, Ed Oates ja Bob Miner töötasid 1977. aastal välja Oracle'i andmebaasi ja asutasid tarkvaraarenduse laborid. 1979. aastal anti järgmise kahe aasta jooksul välja Oracle'i 2.0 versioon, esimene Oracle'i kommertsversioon. Nad muutsid nime Software Development Laboratories nimeks Relational Software Inc. (RSI). Seda organisatsiooni nimetati hiljem 1982. aastal Oracle Corporationiks. Järgmine versioon 3.0 lasti turule 1983. aastal C-keeles. 1984. aastal välja töötatud Oracle'i versioon 4.0 sisaldab täiustatud funktsioone, nagu mitme versiooni lugemise järjepidevus, samaaegsuse juhtimine jne. Oracle 11g, uusim versioon, lasti turule 2007. aastal.

Oracle'i relatsiooniandmebaas sisaldab täpsemaid funktsioone, nagu samaaegsus, lukustusmehhanism, SQL Plus, ressursihaldur, andmekaevandamine, partitsioonid, andmeladu, paralleelkäivitus jne.

3. MS SQL Server:

Microsofti relatsiooniandmebaas on MS SQL Server . Selle andmebaasi esmane eesmärk on salvestada ja hankida andmebaasis olevaid andmeid. See ühildub Microsoft Windowsi, Linuxi ja Windows Server operatsioonisüsteemid. MS SQL Server võimaldab andmeid hankida mis tahes tarkvararakendusel, mis asub samas arvutis või teises arvutis või üle võrgu. See kasutab ANSI SQL ja T-SQL andmebaasi keeli.

Esialgu, aastal 1987, töötas SQL Serveri UNIX-süsteemide jaoks välja Sybase. Järgmisel aastal andsid Microsoft, Aston-Tate ja Sybase välja SQL Server 1.0 OS/2 jaoks. Windows 3.0 kasutajatele käivitati SQL Serveri versioon 1.1 1990. aastal. Hiljem lahkus organisatsioonist Aston-Tate ja 2000. aastal lasi Micorosft välja SQL Server 2000. Järgmisel aastal töötati selle andmebaasi jaoks välja XML. SQLXML 2.0 töötati välja 2002. aastal ja hiljem anti välja SQLXML 3.0. Uusim versioon, SQL Server 2005, töötati välja 7. novembril 2005.

MS SQL Server sisaldab andmebaasi peegeldamist, DDL-i käivitajaid, sujuvat XML-integratsiooni, andmebaasi meili, suure jõudlusega ja kõrget saadavust.

Neli. MS Access:

Teine populaarne relatsiooniandmebaas on MS Access. Nagu ülaltoodud andmebaas, on ka MS Access Microsofti toode. Seda DBMS-i kasutatakse väikesemahulistes ettevõtetes ja see on erakordselt odav. See sisaldab Jeti andmebaasimootorit. Seda mootorit nimetatakse ka Jet SQL-iks, kuna see kasutab SQL-i keelt.

1992. aastal töötati välja esimene MS Accessi versioon 1.0. Järgmisel aastal arendati see ühilduvuse parandamiseks välja koos programmeerimiskeelega Access Basic. Hiljem käivitati Access 2007, mis kasutas ACCDB vormingut. See MS Accessi versioon on täiustatud ja sisaldab keerulisi andmetüüpe ja mitme väärtusega välju.

MS Access kasutab ühendatud tabelite, vormide, aruannete ja päringute jaoks makrosid. Seda süsteemi kasutades saate oma andmeid eksportida ja importida mitmesse vormingusse, nagu ASCII, Oracle, ODBC, SQL Server jne. Jeti vorming hoiab rakenduse ja selle andmed ühes failis koos. Seetõttu on mis tahes rakenduse jagamine vaevatu. See ei toeta andmebaasi käivitajaid, salvestatud protseduure ja tehingute logimist, kuna see on failiserveripõhine süsteem.

Mis on RDBMS?

Peaaegu kõik praegused andmebaasisüsteemid, nagu SQL, Oracle, MySQL, Microsoft Access jne, kasutavad relatsioonilist andmebaasihaldussüsteemi. See andmebaasisüsteem põhineb relatsioonimudelil. E. F. Codd pakkus välja relatsioonilise andmebaasi haldussüsteemi. RDBMS-is on teatud elemente, mida peate teadma, enne kui liigume SQL-i poole. Arutleme allpool iga aspekti üle.

üks. Tabel:

RDBMS-is salvestatakse andmed tabeli kujul. Seda tabelit nimetatakse objektiks. Seda nimetatakse ka a suhe . RDBMS-i tabelis on ridu ja veerge. Igal RDBMS-i tabelil on konkreetne tabeli nimi. Tabelit peetakse lihtsaimaks andmesalvestusvormiks.

Vaatleme tabelit, mille tabeli nimi on „Õpilane”. Talletame õpilase tabelisse teabe, nagu nimi, vanus, õpilase_ID ja linn.

NimiVanusÕpilase IDLinn
Steve231092New York
Oliver241093Inglid
Robertkakskümmend üks1094Chicago
Maarja251095California
Jennifer231096New York
James221097Washington DC
Johnkakskümmend üks1098California
johnny241099Chicago

Ülaltoodud tabel annab teavet õpilaste kohta.

kaks. Väli:

Järgmine RDBMS-i element on väli. Väli on tabeli väiksem olem. Näiteks ülaltoodud tabelis on väljad „Õpilane”, Nimi, Vanus, Õpilase_ID ja Linn. Seetõttu on tabeli iga veerg väli, mis salvestab konkreetse teabe või kirje.

3. Rida:

Rida nimetatakse ka rekordiks. Kirje või rida sisaldab teavet konkreetse olemi kohta. Ülaltoodud tabelis „Õpilane” on kaheksa erinevat rida või kirjet. Teisisõnu sisaldab ülaltoodud tabel kaheksa erineva õpilase andmeid. Üks horisontaalne olem on rida või kirje. Järgmine on rida või kirje tabelist „Õpilane”.

|_+_|

Neli. Veerg:

Oleme näinud, et rida on horisontaalne üksus. Erinevalt reast on veerg vertikaalne üksus. Veerg sisaldab kõiki väljaga seotud andmeid. Tabelis „Õpilane” on väljad nimi, vanus, õpilase_ID ja linn. Seetõttu sisaldab veerg väljaga „Nimi” õpilaste nimesid. See veerg on esitatud järgmiselt:

|_+_|

5. NULL:

Kui konkreetsel väljal pole andmeid või väljal on tühi ruum, on see väärtus NULL. NULL väärtus ei ole sama mis null. Kirje loomise ajal jäetakse see tühjaks.

SQL-i põhitõed

Selles segmendis õpime kõiki SQL-i põhitõdesid, nagu süntaks, päringu töötlemine, piirangud, käsud ja andmebaasi normaliseerimine.

SQL-i süntaks

SQL-päring sisaldab mitmeid elemente andmete toomiseks andmebaasist. Allpool on toodud päringuga seotud komponendid.

    Klauslid:

Klauslid on päringu valikuline osa. Need on päringu elemendid. Näiteks on klauslid UPDATE, SET, WHERE jne.

    Väljendid:

Päringus sisalduvad avaldised annavad andmed ridade ja veergudega tabeli kujul. Rida nimetatakse 'korteriks' ja veergu nimetatakse 'atribuudiks'.

    Predikaadid:

Predikaadid on tingimused, mis loovad kolme väärtusega loogika (Tõene / Väär / Tundmatu).

    Päringud:

Päringud toovad tingimusi kasutades andmebaasist vajalikud andmed.

    Avaldused:

Avaldused kontrollivad programmi voogu, tehinguid, ühendusi jne. See võib sisaldada ka semikoolonit ';.'

    Ebaolulised tühikud:

Soovimatuid tühikuid SQL-päringus arvesse ei võeta, muutes selle arusaadavamaks ja loetavamaks.

Siin näeme väikeseid näiteid, mis kasutavad kolme klauslit: värskendamine, määramine ja asukoht.

  1. UPDATE vanus;

Ülaltoodud päring värskendab vanuse atribuuti.

  1. SET vanus = vanus+2;

Ülaltoodu hõlmab väljendit 'vanus+2', mis suurendab vanust kahe võrra ja tulemus omistatakse vanusele.

  1. WHERE emp_name = 'John';

Siin on 'emp_name = 'John' predikaat ja 'John' on väljend.

Päringu töötlemine

SQL-i päringuid töödeldakse, et teisendada need madala taseme avaldisteks, mis on arvutitele arusaadavad. Iga päringutöötlus sisaldab mitmeid komponente, nagu parser, tõlkija, evolutsioonimootor, andmebaas jne. Kõrgetasemeline päring teisendatakse avaldisteks, mis ühilduvad failisüsteemi füüsilise tasemega. Allpool on diagramm, mis illustreerib päringu töötlemist ja optimeerimist selle rakendamiseks füüsilisel tasemel.

img 617dd1be21877

Esiteks teisendatakse kõrgetasemeline päring arusaadavaks väljendiks, st algebraliseks avaldiseks. Selle teisenduse käigus läbib päring mitu faasi, nagu on näidatud ülaltoodud diagrammil. Esimeses etapis kontrollib parser päringu süntaksit ja jälgib, kas seotud seos ja atribuudid on õiged. Tõlkija muudab päringu sisemiseks esituseks, mis antakse optimeerijale.

Päringu optimeerija teisendab päringu sisemise esituse avaldisteks, mida saab täita. Seejärel käivitab need avaldised DBMS-i mootor või päringu hindamismootor. DBMS-i mootori tulemus antakse andmebaasi füüsilisele tasemele.

SQL-klauslid

SQL-i klausel on päringu komponent. SQL-is on mitu klauslit. Vaatame iga klauslit üksikasjalikult allpool oleva süntaksiga.

    SELECT klausel:

Kui soovite määratud veergudest või ridadest andmeid tuua, saate kasutada SELECT-klauslit. Samuti saab see andmeid hankida mitme tabeli või vaate ridadelt. Select-lause tulemushulk on samuti tabel.

Süntaks:

|_+_|
    DISTINCT klausel:

DISTINCT-lauset kasutatakse koos SELECT-klausliga. See tagastab ainulaadsed ja erinevad väärtused. Tulemuste komplektis pole dubleerivaid väärtusi.

Süntaks:

|_+_|
    KUS klausel:

Kus-klauslit kasutatakse andmete toomise tingimuse täpsustamiseks. See kuvab ainsad tingimusega määratud read.

Süntaks:

|_+_|
    GROUP BY klausli järgi:

See klausel rühmitab sarnaste väärtustega read ühte tulemuskomplekti. Klauslit GROUP BY kasutatakse alati päringutes selliste funktsioonidega nagu SUM, MAX, MIN, COUNT ja AVG.

Süntaks:

|_+_|
    TELLI:

Kui on vaja tulemusi sortida kasvavas või kahanevas järjekorras, saate kasutada käsku ORDER BY. Vaikimisi sorteerib see lause tulemuse kasvavas järjekorras. Kui soovite tulemuste komplekti järjestada kahanevas järjekorras, saate päringus määrata 'desc'.

Süntaks:

|_+_|
    ON:

Märksõna HAVING peamine eesmärk on seda kasutada ainult koondfunktsioonidega, nagu SUM, MIN, MAX, COUNT ja AVG. Märksõna WHERE ei ühildu koondfunktsioonidega.

Süntaks:

|_+_|

Käsud SQL-is

SQL-käsud jagunevad viide erinevasse tüüpi: DDL, DML, DQL, TCL ja DCL. Allpool käsitleme üksikasjalikult kõiki neid kolme tüüpi.

    DDL:

Andmete määratlemise keel koosneb neljast SQL-käsklusest: loo, muuda, kärbi ja kukuta. Neid käske kasutatakse tabeli struktuuri muutmiseks. Kõik need on automaatselt kinnistatud, st tabeli struktuuris tehtud muudatused salvestatakse jäädavalt.

Tabeli loomise käsku kasutatakse uue tabeli, tabelivaate või mõne muu andmebaasis oleva objekti loomiseks.

Süntaks:

|_+_|

Näide:

|_+_|

Teist käsku alter kasutatakse olemasoleva vaate või tabelis muutmiseks või muudatuste tegemiseks. Alter käsu abil saate tabelisse lisada uue veeru või muuta konkreetse tabeli olemasolevat veergu.

Süntaks:

|_+_|

Näide:

|_+_|

Käsk kärbi DDL kustutab tabelist kõik read. Pange tähele, et see ei kustuta tabelit.

Süntaks:

|_+_|

Näide:

|_+_|

Lõpuks kustutab drop-käsk tabeli või vaate. See kustutab täielikult tabeli struktuuri ja tabelisse salvestatud andmed.

Süntaks:

|_+_|

Näide:

|_+_|
    DML:

Andmetöötluskeel koosneb kolmest käsust: lisamine, kustutamine ja värskendamine. Need käsud muudavad tabeli andmeid. Erinevalt DDL-käskudest ei võeta DML-käske automaatselt sisse. Kui kasutate mõnda kolmest käsust, peate muudatuste püsivaks salvestamiseks kasutama märksõna 'commit'.

Käsk INSERT lisab andmed tabelisse. Iga kord, kui tabelisse lisatakse uusi andmeid, suureneb korteežide arv.

Süntaks:

|_+_|

Või

|_+_|

Näide:

|_+_|

Järgmine on värskendusavaldus. See avaldus värskendab või muudab ühe atribuudi olemasolevat väärtust.

Süntaks:

|_+_|

Näide:

|_+_|

Lõpuks kustutab kustutamislause tabelist konkreetsed read.

Süntaks:

|_+_|

Näide:

|_+_|
    DCL:

SQL-is määrame inimestele volitused või õigused andmetega manipuleerimiseks, neile juurdepääsuks või andmebaasist kustutamiseks. Võime volitusi anda ja tagasi võtta, kasutades käske GRANT ja REVOKE.

GRANT avaldust kasutatakse andmebaasi juurdepääsuõiguse andmiseks. Kasutajad saavad juurdepääsu andmebaasile, kui neile on antud luba.

Süntaks:

|_+_|

Avaldus REVOKE on vastupidine avaldusele GRANT. See võtab kasutajalt kõik õigused juurdepääsu andmebaasile .

|_+_|
    DQL:

Andmepäringu keeles on ainult üks käsk SELECT. Seda käsku kasutatakse tabelist konkreetsete atribuutide valimiseks. See valib atribuudid sõltuvalt määratud WHERE tingimusest.

Süntaks:

|_+_|

Näide:

|_+_|
    TCL:

Tehingujuhtimiskeel sisaldab kolme käsku: commit, rollback ja savepoint. TCL-lauseid saate kasutada ainult DML-käskudega. Neid ei saa kasutada DDL-lausetega, kuna need salvestavad muudatused automaatselt andmebaasi jäädavalt.

Kinnitusavaldus salvestab andmebaasi kõik tabelis püsivalt tehtud muudatused.

Süntaks:

|_+_|

Näide:

|_+_|

Kui soovite tagasi võtta mis tahes varasemat tehingut, mis pole andmebaasis seotud, saab tagasipööramislause käivitada.

Süntaks:

|_+_|

Näide:

|_+_|

Lõpuks teostab SAVEPOINTi väljavõte tehingute tõhusat tagasipööramist. See viib konkreetse tehingu tagasi soovitud punktini, ilma et kogu tehing oleks vaja tagasi pöörata.

Süntaks:

|_+_|

Andmete terviklikkus

Andmete terviklikkus andmebaasis eeldab täpsust ja koondamist. Andmebaasis olevad andmed peavad olema täpsed ja mitte korduma. Nendel eesmärkidel kasutame piiranguid. Üldiselt tähendab piirang piiranguid või piiranguid. SQL-is tähendab piirang tabeli veergude eeskirju või reegleid. Teisisõnu, piirangud määravad, millised andmed tuleb tabelisse lisada. Andmete veerule piirangute rakendamine tagab usaldusväärsus ja andmete õigsus.

SQL

Ülaltoodud diagramm illustreerib erinevaid piiranguid, mis on rühmitatud kolme kategooriasse: olemi terviklikkus, viiteterviklikkus ja domeeni terviklikkus.

Saate rakendada piiranguid tabeli veergudele või otse tabelile. Kui eelistate veergudele piiranguid rakendada, nimetatakse seda veerutaseme piiranguteks. Saate rakendada veerutaseme piiranguid ühele või kahele veerule. Ja piirangute kasutamist kogu tabeli jaoks nimetatakse tabelitaseme piiranguteks. Kui rakendate tabelitaseme piiranguid, rakendatakse seda kõikidele tabeli veergudele.

Andke meile nüüd teada kõik kolm ülaltoodud andmete terviklikkuse kategooriat.

    Olemi terviklikkus:

Olemi terviklikkuses identifitseeritakse tabeli iga korteež kordumatult, kasutades järgmisi kolme piirangut:

  • NOT NULL Piirang: see tagab, et tabelis või veerus ei ole NULL väärtust.
  • UNIQUE piirang: see reegel määrab, et tabeli veerus on kordumatud väärtused. Ühtegi väärtust veerus ei korrata.
  • ESMANE võti: kui rakendate selle piirangu tabeli mis tahes veerule, tuvastab see veerg kordumatult iga tabeli rea või korteeži.
    Viitamise terviklikkus:

Kui soovite andmebaasis seostada kahte erinevat tabelit, saate kasutada viiteterviklikkust.

  • VÕIMALIK võti: see tuvastab üheselt teise tabeli rea või korteeži. Ühe tabeli primaarvõti peaks teises tabelis olema atribuudina. Sellist atribuuti nimetatakse FORIGN Key.
    Domeeni terviklikkus:

Domeeni terviklikkust kasutatakse tagamaks, et kõik tabeli väärtused järgivad määratletud reegleid.

  • VAIKEpiirang: see määrab veerule vaikeväärtuse, kui konkreetset väärtust pole märgitud.
  • KONTROLLI piiranguid: kui soovite kontrollida, kas kõik veeru väärtused vastavad määratud tingimusele, saate rakendada piirangut CHECK.

INDEX: kui soovite andmebaasi andmeid tuua või luua, saate kasutada INDEXit.

Andmebaasi normaliseerimine

Andmebaasi normaliseerimine on protsess, mille käigus korraldatakse andmebaasis olevad andmed hästi struktureeritud vormingus. Seal on erinevaid tavalisi vorme andmebaasi normaliseerimine , mis aitab kõrvaldada liiasust ja parandada andmete terviklikkust. E. F. Codd pakkus välja andmebaasi normaliseerimise kontseptsiooni. Andmebaasi normaliseerimiseks on kaks peamist põhjust.

  • Korduvate andmete eemaldamine andmebaasist.
  • Tagada, et kõik andmete sõltuvused on õiged ja mõistlikud.

Üleliigsete andmete eemaldamine aitab vabastada kettaruumi. Andmebaasi normaliseerimise abil saate luua hea andmebaasi ja salvestada andmed sellesse loogiliselt. Andmebaasi normaliseerimisel on erinevad normaalvormid, mis aitavad luua hästi struktureeritud andmebaasi. Need tavavormid on toodud allpool:

  • Esimene normaalne vorm
  • Teine tavaline vorm
  • Kolmas tavavorm
  • Boyce Codd tavaline vorm
  • Neljas tavavorm
  • Viies tavaline vorm

SQL-i andmetüübid

SQL-i andmetüüp määrab kasutatavate andmete tüübi. SQL-is on kuus erinevat tüüpi andmetüüpe: numbriline, kuupäev ja kellaaeg, märk ja string, Unicode'i märk, binaarne ja mitmesugused. Neid andmetüüpe kasutatakse andmebaasis tabeli loomisel. Iga veerg on määratud andmetüübile ja peaks sisaldama ainult määratud tüüpi andmeid.

Iga relatsiooniline andmebaas ei toeta kõiki SQL-i andmetüüpe. Oracle'i relatsiooniandmebaas ei toeta andmetüüpi DATETIME ja MySQL-i andmebaas ei toeta CLOB-andmetüüpi. On mõned spetsiifilised andmebaasid, millel on täiendavad eraldi andmetüübid. Microsoft SQL Serveris on muud andmetüübid 'raha' ja 'väike raha'. Räägime nüüd allpool iga andmetüübi üle.

üks. Numbriline andmetüüp

SQL-is on üksteist erinevat arvandmetüüpi, mis on jagatud kahte rühma. Esimene rühm sisaldab täpseid arvandmetüüpe ja teine ​​​​ligikaudsed numbrilised andmetüübid. Täpsete numbriliste andmetüüpide hulka kuuluvad bigint, int, smallint, tinyint, kümnendkoht, raha, numbrid, väikeraha ja bitt. Ja ligikaudsed numbrilised andmetüübid hõlmavad ujuv- ja tegelikke andmetüüpe. Allolevad tabelid illustreerivad täpsete ja ligikaudsete andmetüüpide vahemikke.

Täpsed andmetüübid

Andmetüüp Alates To Säilitamine
natuke0üks
bigint-9,223,372,036,854,775,8089,223,372,036,854,775,8078 baiti
tilluke02551 bait
väike raha-214 748 3648+214 748 36474 baiti
raha-922 337 203 685 477 5808+922 337 203 685 477 58078 baiti
smallint-32 76832 7672 baiti
int-2 147 483 6482,147,483,6474 baiti
numbriline-10^38 +110^38-15–17 baiti
koma-10^38 +110^38-15–17 baiti

Ligikaudsed andmetüübid

Andmetüüp Alates To Säilitamine
päris-3.40E + 383,40E + 384 või 8 baiti
ujuk-1,79E + 3081,79E + 3084 baiti

kaks. Päev ja aeg

Kuupäeva ja kellaaja andmetüübil on neli erinevat andmetüüpi: datetime, date, kellaaeg ja smalldatetime. Andke meile nüüd teada iga kuupäeva ja kellaaja andmetüübi vahemiku väärtused.

Andmetüüp Alates To Säilitamine
väike kuupäev1. jaanuar 19006. juuni 20794 baiti
kuupäev Kellaaeg1. jaanuar 175331. detsember 99998 baiti
kuupäev ja kellaaeg21. jaanuar 000131. detsember 99996–8 baiti
kuupäevSee andmetüüp salvestab kuupäeva kujul 30. juuni 1991.3 baiti
aegaSee andmetüüp salvestab kellaaja kujul 12:30 PM.3–5 baiti

3. Tähemärk ja string

Tähestiku ja stringi andmetüüpe kasutatakse tähestiku ja sõnade sisestamiseks. On neli erinevat märgi ja stringi andmetüüpi, mis on järgmised.

    char

Char andmetüüp on fikseeritud pikkusega ja selle maksimaalne suurus on 8000 tähemärki.

    varchar

See andmetüüp on muutuva pikkusega, mille maksimaalne suurus on 8000 tähemärki.

    tekst

Teksti andmetüüp on muutuva pikkusega ja maksimaalne suurus on kuni 2 147 483 647 tähemärki.

    varchar (max)

See andmetüüp on samuti muutuva pikkusega, mille maksimaalne suurus on 2E + 31.

Kõik ülaltoodud andmetüübid ei ole Unicode'i koodid.

Neli. Binaarne:

SQL-is on neli kahendandmete tüüpi: binaarne, varbinaarne, varbinaarne(max) ja pilt. Allpool on kõigi nende andmetüüpide lühikirjeldus.

    binaarne

See andmetüüp on fikseeritud pikkusega ja maksimaalse pikkusega 8000 baiti.

    varbinaarne

varbinary on teine ​​binaarne andmetüüp, millel on muutuv pikkus. Selle maksimaalne suurus on 8000 baiti.

    varbinaar(max)

Nagu varbinary, on ka varbinary(max) muutuva pikkusega andmetüüp, mille maksimaalne suurus on 2E + 31 baiti. Seda kasutatakse ainult SQL Server 2005-s.

    pilt

pilt on ka muutuva pikkusega kahendandmed, mille maksimaalne limiit on 2 147 483 647 baiti.

5. Unicode'i andmetüüp

Sellel rühmal on ka neli erinevat andmetüüpi: nchar, nvarchar, nvarchar(max) ja ntext.

    nchar

nchar on fikseeritud pikkusega Unicode'i andmetüüp, mille maksimaalne pikkus on 4000 baiti.

    nvarchar

Erinevalt ncharist on nvarchar muutuva pikkusega Unicode, mille maksimaalne suurus on 4000 baiti.

    nvarchar (max)

nvarchar(max) ühildub ainult SQL Server 2005 andmebaasiga. Selle maksimaalne suurus on 2E + 31 ja see on muutuva pikkusega.

    ntekst

ntext on muutuva pikkusega Unicode, mille maksimaalne pikkus on 1 073 741 823 baiti.

6. Mitmesugust

Järgmised on andmetüübid, mis kuuluvad mitmesuguse rühma alla.

    sql_variant: see sisaldab kõigi SQL Serveri andmebaasi toetatud andmetüüpide väärtusi, välja arvatud ajatempel, tekst ja ntext.unikaalne identifikaator: sellel andmetüübil on GUID, globaalselt kordumatu identifikaator.kursor: see viitab kursori objektile.ajatempel: see on kordumatu number, mida muudetakse iga kord, kui mõnda andmebaasi rida muudetakse.xml: seda toetab SQL Server 2005 ja see sisaldab xml-andmeid.laud: see sisaldab tulemuste komplekti, mida kasutatakse tulevikus.

SQL operaatorid

Operaatorid on reserveeritud sõnad või märgid. Need on ette nähtud konkreetsete toimingute tegemiseks. Tavaliselt kasutatakse tingimuse täpsustamiseks WHERE-klauslis operaatorit. Operaator võib olla aritmeetiline, loogiline või võrdlev. Saate kasutada ka operaatorit, et kombineerida samas lauses kahte tingimust. SQL-is on kolm erinevat operaatoritüüpi: aritmeetilised, võrdlus- ja loogilised operaatorid.

üks. Aritmeetilised operaatorid

Aritmeetiline operaator saab teha aritmeetilisi toiminguid, nagu liitmine, lahutamine, korrutamine, moodul ja jagamine. Võtame üheks muutujaks ‘a, väärtusega 15’ ja teiseks muutujaks ‘b, mille väärtus on 30’. Allpool näeme iga aritmeetilise operaatori näidet.

Operaator Kirjeldus Näide
+Operaator ‘+’ lisab kaks muutujat.a+b=15+30=45
Operaator ‘-’ lahutab parempoolse muutuja vasakpoolsest muutujast.a-b =15-30=-15
%„%” annab tulemuse jäägi, kui vasakpoolne muutuja jagatakse parempoolse muutujaga.b/a=30%15=0
/'/' teostab jagamist. Vasakpoolne muutuja väärtus jagatakse parempoolse muutuja väärtusega.b/a = 30/15 = 2
*'*' korrutab kahte muutujat.a*b=15*30=450

kaks. Loogilised operaatorid

Siin näeme kõiki SQL-is kasutatavaid loogilisi operaatoreid koos nende lühikirjeldustega.

  • JA: AND kasutatakse mitme tingimuse kombineerimiseks ühes SQL-lauses.
  • BETWEEN: seda operaatorit kasutatakse väärtusvahemiku määramiseks. Minimaalse ja maksimaalse väärtuse saate määrata märksõna BETWEEN abil.
  • IN: kui rakendate märksõna IN, võrdleb see üht väärtust kõigi teiste määratud loendis olevate literaalväärtustega.
  • EI: seda operaatorit kasutatakse koos teiste loogiliste operaatoritega, nagu EXISTS, BETWEEN. Näiteks saab taotleda NOT EXISTS, NOT BETWEEN, NOT IN jne.
  • IS NULL: kui soovite võrrelda mis tahes väärtust väärtusega NULL, võite kasutada IS NULL.
  • KÕIK: seda operaatorit kasutatakse ühe komplekti väärtuse võrdlemiseks kõigi teiste väärtustega teises komplektis.
  • ANY: see võrdleb väärtust loendis oleva mis tahes praktilise väärtusega.
  • OLEMAS: kontrollib, kas konkreetne rida on tabelis olemas.
  • LIKE: kui soovite võrrelda väärtust sarnase väärtusega, kasutage märksõna LIKE.
  • VÕI: Like AND, OR ühendab ka mitu tingimust WHERE-klauslis.
  • UNIQUE: see märksõna kontrollib tabeli iga rea ​​unikaalsust.

3. Võrdlusoperaatorid

Võrdlusoperaatorite tunnustamiseks võtame kaks muutujat a ja b. Olgu 'a' 15 'b' on 20.

Operaator Kirjeldus Näide
See kontrollib, kas kahe muutuja väärtused on võrdsed või mitte. Kui need pole võrdsed, tagastab see tõese, muidu mitte tõene.(ab) =(1530) = tõene
==Sarnaselt , == kontrollib ka kahe muutuja võrdseid väärtusi. Kui väärtused on võrdsed, tagastab see tõene.(a==b)=(15==30)=ei ole tõsi
!='!=' on sarnane väärtusega '.' Samuti annab see tõene, kui mõlemad muutujad ei ole võrdsed.(ab) =(1530) = tõene
>Kui vasakpoolse muutuja väärtus on suurem kui parempoolse muutuja väärtus, tagastab '>' väärtuse true.(a>b)=(15>30)= ei ole tõene
!>„!>” on operaatori „>” vastand. Tagastab tõene, kui vasakpoolse muutuja väärtus ei ole suurem kui parempoolse muutuja väärtus.(a!>b)=(15!>30)= tõsi
>=Kui vasak operand on suurem või võrdne parempoolse operandiga, muutub tingimus tõeseks.(a=30)= ei ole tõsi
<Kui vasakpoolse muutuja väärtus on väiksem kui parempoolse muutuja väärtus, '<’ returns true. (kuni
!<'!<’ is opposite to the ‘<’ operator. It returns true if the left variable value is not less than the right variable value. (kuni
<=Kui vasak operand on parempoolsest väiksem või sellega võrdne, muutub tingimus tõeseks.(kuni<=b)=(15<=30)= true

SQL-avaldised

SQL-is koosneb avaldis operaatoritest, ühest või mitmest väärtusest ja SQL-i funktsioonidest. Need on alati täpsustatud WHERE-klauslis. Allpool on süntaks, mis illustreerib avaldiste kasutamist andmebaasi päringus.

Süntaks:

|_+_|

SQL-is kasutatakse kolme tüüpi avaldisi, tõeväärtust, numbrit ja kuupäeva.

üks. Boole'i ​​avaldised

Tõeväärtuse avaldis hangib andmed, mis vastavad ühele väärtusele. See otsib read, mis vastavad EXPRESSION-is määratud väärtusele.

Süntaks:

|_+_|

Varem oleme loonud tabeli, mille tabeli nimi on 'Õpilane'. Toome selle andmed SELECT-lause abil.

|_+_|

Väljund:

|_+_|

Nüüd hangime andmed, mis vastavad väärtusele Student_ID = 1098. Ainult üks rida kuvatakse järgmiselt.

|_+_|

Tulemus:

|_+_|

kaks. Numbriline avaldis

Arvulised avaldised on matemaatilised tehted. Seda väljendatakse järgmiselt:

Süntaks:

|_+_|

Numbriavaldiste abil saate sooritada mis tahes matemaatilisi tehteid. Siin on üks näide, mis illustreerib matemaatilist operatsiooni numbrilise avaldise abil.

|_+_|

Väljund:

|_+_|

Numbriavaldisesse saate lisada ka koondfunktsioone: avg(), max(), count(), min() ja sum(). Nüüd loendame tabelis „Õpilane” kirjete või ridade arvu.

|_+_|

Väljund:

|_+_|

3. Kuupäeva väljendid

Kuupäeva avaldised on SQL-is kõige soovitavam avaldis, mis annab süsteemi praeguse kuupäeva ja kellaaja. Vaatame päringut süsteemi praeguse kuupäeva ja kellaaja kuvamiseks.

|_+_|

Väljund:

|_+_|

Looge, kukutage ja KASUTAGE SQL-is andmebaasilauseid

üks. Loo andmebaas

Enne tabelite loomist peame kõigepealt looma andmebaasi. Esiteks looge andmebaas, milles soovite töötada. Nüüd vaatame, kuidas andmebaasi luua.

Süntaks:

|_+_|

Peate veenduma, et andmebaasi nimi peaks olema kordumatu ja erinev. Seda ei tohiks varem kasutada.

Loome nüüd andmebaasi nimega .

|_+_|

Mis tahes andmebaasi loomiseks peavad teil olema administraatori õigused. Saate vaadata kõiki loodud andmebaase, kasutades käsku SHOW DATABASES. Oleme varem loonud mitu andmebaasi: school_info, softwaretesttips, test, company ja origin.

|_+_|

Tulemus:

|_+_|

Ülaltoodud väljund kuvas loodud andmebaaside loendi.

kaks. Drop andmebaas

Oletame, et soovime kustutada ühe ülaltoodud andmebaasidest. Sel eesmärgil kasutatakse lauset „DROP DATABASE”.

Süntaks:

|_+_|

Arvestage, et soovime kustutada SQL-skeemist testandmebaasi. Kui kustutate mis tahes andmebaasi, kustutatakse kõik selles olevad andmed. Andmebaasi kustutamiseks peavad teil olema ka administraatori õigused.

|_+_|

Kustutasime 'testi' andmebaasi. Vaatame nüüd skeemis olevate andmebaaside loendit.

|_+_|

Väljund:

|_+_|

3. Kasutage ja valige andmebaas

Meie skeemis on mitu andmebaasi. Oletame, et soovime töötada ainult ühe konkreetse andmebaasiga; peate valima kõigist andmebaasidest ühe. Pärast ühe andmebaasi valimist saate selles teha kõiki DDL-i toiminguid. Andmebaasi valimiseks on USE avaldus.

Süntaks:

|_+_|

Valime oma andmebaaside loendist ühe andmebaasi ‘tarkvaratesttips’, milles teostame kõik andmebaasitoimingud.

|_+_|

Kõik, mille loote, tabelid või vaatate, sisaldub tarkvaratesti näpunäidete andmebaasis.

See oli kogu SQL-i kiirõpetus. Loome nüüd tarkvaratesttippude andmebaasis ühe tabeli ja teostame selles tabelis kõik SQL-i toimingud.

Loo tabel

Oleme näinud tabeli loomise süntaksit ja näidet. See avaldus on kirjutatud järgmiselt,

|_+_|

Tabeli loomise avalduses määrame tabeli nime, atribuudid ja andmetüübid. Saame isegi atribuutidele piiranguid rakendada, kasutades tabeli loomise avaldust. Veenduge, et tabeli nimi oleks kordumatu ja seda pole varem kasutatud.

Nüüd loome tabeli, kasutades käsku 'loo tabel'. Teeme tabeli „TÖÖTAJA“, mis salvestab töötajate andmed. Loome selle tabeli jaoks viis atribuuti: Emp_ID, Nimi, Vanus, Linn ja Palk.

|_+_|

Oleme loonud tabeli 'TÖÖTAJA', mille atribuutidena on EMP_ID, NAME, AGE, CITY ja SALARY. Tabeli „EMPLOYEE” primaarvõti on EMP_ID, mis ei tohiks olla NULL. Lisaks ei tohiks atribuudid NAME ja AGE olla NULL.

Pärast ülaltoodud tabeli loomise avalduse kirjutamist näete ekraanil teadet 'tabel on edukalt loodud'. Kui soovite näha tabeli või tabeli skeemi atribuute, tippige järgmine käsk:

|_+_|

Väljund:

|_+_|

Tabeli 'TÖÖTAJA' saame tühistada lause DROP abil.

|_+_|


Pärast tabeli kukutamist kustutatakse see andmebaasist. Kui proovite käivitada käsku DESC, kuvatakse järgmine tõrge:

|_+_|

Sisestage väärtused tabelisse

Oleme õppinud, kuidas konkreetses andmebaasis tabelit luua ja see andmebaasist välja visata. Nüüd keskendume andmete tabelisse sisestamisele. Selle artikli esimeses osas oleme näinud, kuidas lisada lisalauset. Siin õpime näite abil kirjutama insert-lauset.

Võtame ülaltoodud tabeli „TÖÖTAJA” ja sisestame sinna töötajate andmed, kasutades sisestamissõna. Andmete tabelisse sisestamiseks on kaks võimalust.

|_+_|

Teine lihtsaim vorm INSERT-lause kirjutamiseks on:

|_+_|

Esimeses vormingus oleme määranud veerud ja väärtused. Meil on ainult teises vormingus määratud väärtused. Teise vormingu kasutamisel veenduge, et sisestaksite väärtused õiges järjekorras, nagu olete tabeli loomisel atribuudid määranud.

Sisestame nüüd töötajate andmed tabelisse TÖÖTAJAD.

|_+_|

Esimest vormingut kasutades oleme sisestanud kuue töötaja andmed. Sisestame töötaja andmed teist vormingut kasutades.

|_+_|

Nüüd on TÖÖTAJATE tabelis seitse kirjet või rida. Tabelis EMPLOYEE andmete kuvamiseks kasutatakse käsku SELECT. Keskendume nüüd SELECT-lausele.

VALI avaldus

SELECT-lauset kasutatakse andmete toomiseks konkreetsest tabelist. Kui toome andmed SELECT-lause abil, tagastab see andmed tabelivormingus. Varem on meil SELECT-lause kirjutamine.

|_+_|

Ülaltoodud lauses kuvatakse määratud tabelist ainult veerg1 ja veerg2. Kui soovite näidata kõiki konkreetse tabeli andmeid, kasutatakse kõigi veergude määramise asemel '*'.

|_+_|

Kuvame kõik andmed tabelist TÖÖTAJAD.

|_+_|

Väljund:

|_+_|

Oletame, et soovite hankida ainult töötajate nimed ja ID; saate määrata EMP_ID ja NAME SELECT-lauses.

|_+_|

Väljund:

|_+_|

KUS klausel

WHERE-klauslit kasutatakse andmete toomise tingimuse määratlemiseks. Seda kasutatakse ka kahe erineva laua kombineerimiseks. Kui rakendate konkreetse tingimuse klauslis WHERE, hangitakse andmed ainult siis, kui tingimus on tõene. Märksõna WHERE kasutatakse tavaliselt siis, kui kasutajad vajavad konkreetset teavet. Seda märksõna kasutatakse DELETE ja UPDATE avaldustes.

|_+_|

Selles seisundis saame kasutada loogilisi ja võrdlusoperaatoreid. Mõelge TÖÖTAJATE tabelile. Otsime nüüd üles kõik töötajate ID-d, nimed ja palgad, kelle palk on 40 000 või suurem. Seetõttu märgime WHERE-klauslisse tingimuseks palk >= 40 000.

|_+_|

Väljund:

|_+_|

Tulemuste komplekt sisaldab kõiki töötajate ID-sid, nimesid ja palku, kelle palk on 40 000 või suurem.

Kui teie tingimus lauses WHERE sisaldab stringi, kirjutage see üksikute jutumärkide hulka (‘’). Otsime üles Maarja-nimelise töötaja nimi, ID ja vanus.

|_+_|

Väljund:

|_+_|

JA ja VÕI operaatorid

AND ja OR operaatorid ühendavad kaks või enam erinevat tingimust. Kui vajate tabelist täpseid ja ülevaatlikke andmeid, saate AND- või VÕI-tehteid kasutades ühendada mitu tingimust.

Kui kombineerite tingimusi operaatori AND abil, tagastab see tulemuse ainult siis, kui kõik tingimused on täidetud. Ta ei tagasta andmeid, kui mõni tingimus on täidetud. Teame, et WHERE märksõnas kasutatakse operaatoreid. See on kirjutatud järgmiselt:

|_+_|

Saate määrata mitu tingimust. Mõelge TÖÖTAJATE tabelile. Otsime nüüd üles nende töötajate nimed, ID, vanuse ja palga, kelle vanus on üle 40 ja palk on suurem või võrdne 35 000.

|_+_|

Väljund:

|_+_|

Töötaja andmed hangitakse, kui mõlemad tingimused kehtivad.

VÕI-operaator ühendab ka kaks või enam tingimust. Erinevalt märksõnast AND ei pea olema tõesed kõik tingimused, mis on määratud märksõnas WHERE, kasutades OR-klauslit. Isegi kui üks tingimus on tõene, kirjutab see andmed tulemuste komplekti. Saate määrata mitu tingimust, kasutades märksõna VÕI, nagu allpool näidatud:

|_+_|

Tabelist TÖÖTAJA leiame nime, linna ja palga, kelle linn on California või palk on 30 000.

|_+_|

Väljund:

|_+_|

Ülaltoodud tulemuste komplekt sisaldab kõiki töötajate nimesid, kes elavad Californias või kelle palk on 30 000.

OMALDAMISklausel

Kui soovite oma tulemuse filtreerida täpsemate andmete järgi, kasutatakse HAVING-klauslit. Märksõnas HAVING saate rakendada ainult koondfunktsioone, mis määrab andmete toomise tingimuse. Märksõna HAVING kirjutamise vorm on järgmine:

|_+_|

Võtame laua, mille tabeli nimi on TÖÖTAJA2. Tabel on järgmine:

|_+_| |_+_|

Väljund:

|_+_|

Koondfunktsioonid

Koondfunktsioonid andmebaasi haldamine süsteem võtab kirjetest mitu andmeid ja tagastab pärast arvutusi ühe väärtuse. Seal on viis erinevat koondfunktsiooni: sum(), avg(), count(), min() ja max(). Kõiki neid funktsioone saab rakendada ainult arvandmetele, välja arvatud funktsioon count(). Allpool käsitleme iga funktsiooni üksikasjalikult. Koondfunktsioonide mõistmiseks võtame näidetega tabeli TÖÖTAJA.

|_+_|
    Summa():Funktsioon summa() tagastab kõigi veerus olevate arvude summa. Ülaltoodud tabelis liidame kõigi töötajate palgad funktsiooni sum() abil. See võtab mitu andmeid ja tagastab ühe väärtuse.
|_+_|

Tulemus:

|_+_|
    Keskmine():Funktsioon avg() tagastab samuti ühe väärtuse. See arvutab kõigi veerus olevate andmenumbrite summa ja jagab selle veergude koguarvuga. Funktsioon avg() arvutab kõigi arvandmete keskmise.
|_+_|

Tulemus:

|_+_|
    Max():Kui teil on vaja andmekogust leida maksimaalne väärtus, saate konkreetsele veerule rakendada funktsiooni max(). Samuti tagastab see tulemuse komplektis ühe väärtuse.
|_+_|

Väljund:

|_+_|
    Min ():Funktsioon min() on vastupidine funktsioonile max(). See tagastab konkreetse veeru minimaalse väärtuse.
|_+_|

Väljund:

|_+_|
    Count():Count() kasutatakse tabelis olevate kirjete loendamiseks. Funktsiooni count() saate rakendada igat tüüpi tabeli andmetele. Samuti arvestab see NULL-i ja dubleerivaid andmeid. Kui soovite dubleerivaid andmeid eemaldada, peate lisama märksõna DISTINCT.
|_+_|

Väljund:

|_+_|

Funktsioon count() tagastab tüüpide arvu tabelis EMPLOYEE.

|_+_|

Väljund:

|_+_|

Siin kasutasime märksõna DISTINCT koos funktsiooniga count() veerus CITY. See tagastas erinevate linnanimede arvu. Fraasi WHERE saate lisada ka funktsiooniga count().

|_+_|

Väljund:

|_+_|

Meil on hulk töötajaid, kelle vanus on üle 40 aasta.

Värskendage märksõna

Kui soovite tabelis olevaid andmeid muuta, saate kasutada uuenduse märksõna. Uuenda märksõnaga saab lisada ka WHERE märksõna. Märksõna WHERE abil saate värskendada ainult neid kirjeid, mida soovite muuta. Kui te ei lisa märksõna WHERE, uuendatakse kõiki kirjeid. Värskenduspäringu saate kirjutada järgmiselt.

|_+_|

Kui teil on vaja muudatusi rakendada kahele või enamale kirjele, saate rakendada tehteid JA ja VÕI. Võtke tabel TÖÖTAJAD. Uuendame ID 405 omava töötaja vanust. Seame vanuseks 37 kuni 40.

|_+_|

Kui uuendate ID 405 omava töötaja vanust, kajastub see muudatus tabelis. Me teame, kuidas tabel TÖÖTAJAD pärast muutmist välja näeb.

Väljund:

|_+_|

Oletame nüüd, et soovite muuta ID 407-ga töötaja palka ja vanust. Määrame palgaks 55 000 ja vanuseks 35.

|_+_|

Väljund:

|_+_|

Ülaltoodud tabel sisaldab värskendatud andmeid.

KUSTUTA päring

Kui soovite tabelist mõne kirje kustutada, kasutatakse kustutamismärksõna. Kui soovite konkreetse korteeži või rea kustutada, lisage tingimuse määramiseks märksõna WHERE. Kombineerige mitu tingimust, kasutades tehteid JA või VÕI. Kustutuspäringu saate kirjutada järgmiselt:

|_+_|

Võtke näiteks tabel TÖÖTAJAD. Kustutame töötaja kirje, millel on töötaja ID 405.

|_+_|

Tabel ei sisalda töötaja kirjet, mille töötaja ID on 405 pärast ülaltoodud päringu täitmist.

Väljund:

|_+_|

Kui soovite tabelist kõik read kustutada, kasutage allolevat päringut,

|_+_|

Pärast selle päringu täitmist kustutatakse ainult andmed, mitte tabeliskeem.

TELLIMINE klausli järgi

Saate järjestada oma veeruandmed kasvavas või kahanevas järjekorras, kasutades fraasi ORDER BY. Vaikimisi on veeru andmed järjestatud kasvavas järjekorras. Järgige allolevat vormingut ORDER BY fraasi kirjutamiseks.

|_+_|

Veergude loend peaks sisaldama kõiki veerge, mida soovite sortida või järjestada. Võtke selle fraasi mõistmiseks lihtsa näitega sama TÖÖTAJATE tabel. Lisame veergude loendisse veeru nime, NIMI ja PALK.

|_+_|

Tabel järjestatakse nimede järgi kasvavas järjekorras.

Väljund:

|_+_|

Nüüd loome tabeli veeru NAME abil kahanevas järjekorras.

|_+_|

Väljund:

|_+_|

GROUP BY Klausli järgi

Identsete andmete rühmitamiseks kasutatakse klauslit GROUP BY. Märksõnale WHERE järgneb alati klausel GROUP BY ja fraasile GROUP BY järgneb klausel ORDER BY. See rühmitab sarnased andmed rühmadesse, mis on määratud WHERE-klauslis. Klausel GROUP BY on kirjutatud järgmiselt:

|_+_|

Teises tabelis rakendame fraasi GROUP BY. Vaadake allolevat tabelit TÖÖTAJA1.

|_+_|

Siin töötab Steve nii Chicagos kui ka Californias. Seetõttu saame Steve'i andmed rühmitada fraasi GROUP BY abil, mis kuvab tema nime ja üldist palka.

|_+_|

Väljund:

|_+_|

DISTINCT Märksõna

Märksõna DISTINCT eemaldab tabelist kõik dubleerivad väärtused. Paljud tabelid võivad sisaldada üleliigseid või dubleerivaid andmeid. Sellistes olukordades aitab märksõna DISTINCT kasutamine unikaalseid andmeid hankida. Saate määrata veerud, millest peate unikaalsed andmed hankima. Märksõna DISTINCT kirjutamise vorm on järgmine:

|_+_|

Et mõista, kuidas märksõna DISTINCT töötab, võtame tabeli TÖÖTAJA. Esiteks korrastame tabeli palga järgi kasvavas järjekorras.

|_+_|

Väljund:

|_+_|

Ülaltoodud tulemuste komplektis on dubleeritud andmed, st 30 000 on kahes erinevas reas. Kui rakendame märksõna DISTINCT, ei sisalda tulemus dubleerivaid andmeid.

|_+_|

Väljund:

|_+_|

SQL JOIN

SQL-is ühendab liitmine kahe või enama tabeli kirjed üheks tabelisse. JOIN on allikas tabelite kombineerimiseks, kasutades tabelite tavalisi veerge. Näeme näidet JOIN-i läbiviimise tunnustamise kohta.

Võtame kaks tabelit ja ühendame need kaks tabelit nendevahelise ühise atribuudi alusel. Võtke tabel TÖÖTAJAD. Loome veel ühe tabeli OSAKOND.

|_+_|

Nüüd on meil kaks lauda. Ühendame need kaks tabelit ja kuvame tulemuste komplekti. Mõlemas tabelis on ühine atribuut EMP_ID.

|_+_|

Tulemus on järgmine:

|_+_|

WHERE-klauslis saame tabeleid või seoseid ühendada mitme operaatori abil: , =, BETWEEN, !, NOT jne. Ühenduse saab jagada mitut tüüpi. SISEMINE ühendab tabeleid ja tagastab nende andmete tulemuse, mis vastavad kahe seose vahel. Teine liitumine on LEFT join, mis tagastab kõik andmed vasakpoolsest tabelist. Kui vasakpoolse ja parema tabeli jaoks pole vastet, kirjutatakse NULL. RIGHT liitumine toodab kõik andmed õigest tabelist. Õige tabeli jaoks, mille vaste pole saadaval, kirjuta NULL.

Vasak Liitu

Vasakpoolne liitumine ühendab kaks seost, millel on ühine atribuut. Saate määrata mõlemast seosest kuvatavad veerud. Kõik andmed vasakpoolsest tabelist on tulemuste komplektis olemas. Parempoolse tabeli andmete jaoks, mis ei ühti vasakpoolse tabeli andmetega, kirjutatakse NULL. Näeme näidet vasakpoolsest liitumisest, kasutades EMPLOYEE ja DEPARTMENT.

|_+_|

OSAKOND

|_+_|

Nüüd kirjutame nende kahe seose ühendamise päringu, kasutades märksõna LEFT JOIN.

|_+_|

Tulemus:

|_+_|

Õige Liitu

Parem liitmine ühendab ka kaks tabelit. Kui rakendame kahe relatsiooni jaoks õiget ühendust, kuvatakse kõik õige tabeli andmed, mis vastavad vasakpoolsele tabelile. Vasakpoolse tabeli jaoks, mis ei kattu parempoolse tabeli andmetega, kirjutatakse NULL. Õige liitumissõna mõistmiseks võtame samad kaks seost, TÖÖTAJA ja OSAKOND.

|_+_|

Väljund:

|_+_|

Järeldus

Struktureeritud päringukeelt (SQL) kasutavad kõik suuremad andmebaasid: MySQL, MS Access, Oracle jne. See keel võimaldab kasutajatel andmebaasis tabeleid luua ja neid mitme klausli, operaatori ja lausega manipuleerida. See artikkel on SQL-i kiirjuhend algajatele. Algajad kasutajad saavad sellest õpetusest õppida kõiki SQL-i põhitõdesid.

See postitus on SQL-i kiirviide, mis annab põhiteadmised andmebaasis olevate andmetega manipuleerimise kohta. Oleme näinud kõiki DML, DDL, TCL, DQL, DCL käskude põhisüntakse. Hiljem õppisime erinevaid klausleid, andmete terviklikkust, andmetüüpe, operaatoreid ja avaldisi. Hilisemas jaotises oleme näinud näiteid andmete loomiseks, töötlemiseks ja kustutamiseks andmebaasis.