30 primerov poizvedb SQL

30 Primerov Poizvedb Sql



Celotna oblika SQL je jezik strukturiranih poizvedb. Je zelo uporabno orodje za dostop ali spreminjanje strukture in podatkov baze podatkov. Številne aplikacije potrebujejo bazo podatkov za trajno shranjevanje potrebnih podatkov v bazi podatkov v strukturirani obliki. MySQL, Oracle, SQL Server itd. so priljubljene zbirke podatkov za shranjevanje podatkov aplikacije. Bistveni so za učenje osnov SQL za dostop ali spreminjanje vsebine podatkovne baze. Osnovne uporabe stavkov SQL v bazi podatkov MariaDB so prikazane v tej vadnici z uporabo 30 primerov poizvedb SQL.

Predpogoji

Pred vadbo primerov v tej vadnici morate skupaj z odjemalcem namestiti strežnik baze podatkov. V tej vadnici sta uporabljena strežnik baze podatkov MariaDB in odjemalec.

1. Za posodobitev sistema zaženite naslednje ukaze:







$ sudo apt-get posodobitev

2. Zaženite naslednji ukaz za namestitev strežnika in odjemalca MariaDB:



$ sudo apt-get namestite mariadb-strežnik mariadb-odjemalec

3. Zaženite naslednji ukaz, da namestite varnostni skript za bazo podatkov MariaDB:



$ sudo mysql_secure_installation

4. Zaženite naslednji ukaz za ponovni zagon strežnika MariaDB:





$ sudo /etc/init.d/mariadb znova zaženite

6. Zaženite naslednji ukaz za prijavo v strežnik MariaDB:

$ sudo mariadb -u root -p

Seznam primerov poizvedb SQL



  1. Ustvari bazo podatkov
  2. Ustvarite tabele
  3. Preimenujte ime tabele
  4. Dodajte nov stolpec v tabelo
  5. Odstranite stolpec iz tabele
  6. V tabelo vstavite eno vrstico
  7. V tabelo vstavite več vrstic
  8. Preberite vsa posebna polja v tabeli
  9. Preberite tabelo po filtriranju podatkov iz tabele
  10. Preberite tabelo po filtriranju podatkov na podlagi logične logike
  11. Preberite tabelo po filtriranju vrstic na podlagi obsega podatkov
  12. Preberite tabelo po razvrščanju tabele na podlagi določenih stolpcev.
  13. Preberite tabelo tako, da nastavite alternativno ime stolpca
  14. Preštejte skupno število vrstic v tabeli
  15. Branje podatkov iz več tabel
  16. Preberite tabelo z združevanjem posameznih polj
  17. Preberite tabelo, potem ko ste izpustili podvojene vrednosti
  18. Preberite tabelo tako, da omejite število vrstic
  19. Preberite tabelo na podlagi delnega ujemanja
  20. Preštejte vsoto določenega polja tabele
  21. Poiščite največjo in najmanjšo vrednost določenega polja
  22. Preberite podatke o določenem delu polja
  23. Preberite podatke tabele po veriženju
  24. Preberite podatke tabele po matematičnem izračunu
  25. Ustvari pogled tabele
  26. Posodobite tabelo glede na določeno stanje
  27. Izbrišite podatke tabele na podlagi posebnega stanja
  28. Izbriši vse zapise iz tabele
  29. Spustite mizo
  30. Spustite bazo podatkov

Ustvari bazo podatkov

Recimo, da moramo oblikovati preprosto bazo podatkov za sistem upravljanja knjižnic. Za izvedbo te naloge mora v strežniku ustvariti bazo podatkov, ki vsebuje več relacijskih tabel. Ko se prijavite v strežnik baze podatkov, zaženite naslednji ukaz, da ustvarite bazo podatkov z imenom »library« v strežniku baze podatkov MariaDB:

USTVARJANJE BAZA PODATKOV knjižnica;

Izhod pokaže, da je zbirka podatkov knjižnice ustvarjena na strežniku:

Zaženite naslednji ukaz, da izberete bazo podatkov s strežnika za izvajanje različnih vrst operacij baze podatkov:

UPORABA knjižnica;

Izhod pokaže, da je izbrana zbirka podatkov knjižnice:

Ustvarite tabele

Naslednji korak je ustvariti potrebne tabele za zbirko podatkov za shranjevanje podatkov. V tem delu vadnice so ustvarjene tri tabele. To so knjige, člani in tabele borrow_info.

  1. V tabeli knjig so shranjeni vsi podatki, povezani s knjigami.
  2. V tabeli članov so shranjeni vsi podatki o članih, ki si knjigo izposodijo v knjižnici.
  3. V tabeli borrow_info so shranjeni podatki o tem, katero knjigo si je izposodil kateri član.

1. Knjige Tabela

Zaženite naslednji stavek SQL, da ustvarite tabelo z imenom »knjige« v zbirki podatkov »knjižnice«, ki vsebuje sedem polj in en primarni ključ. Tu je polje »id« primarni ključ, tip podatkov pa je int. Atribut auto_increment se uporablja za polje »id«. Torej se vrednost tega polja samodejno poveča, ko je vstavljena nova vrstica. Podatkovni tip varchar se uporablja za shranjevanje podatkov niza spremenljive dolžine. V polja naslov, avtor, publikacija in isbn so shranjeni podatki o nizu. Podatkovni tip polj total_copy in cena sta int. Torej ta polja hranijo številske podatke.

USTVARJANJE TABELA knjige (
id INT SAMODEJNO POVEČANJE ,
naslov VARCHAR ( petdeset ) ,
avtor VARCHAR ( petdeset ) ,
publikacija VARCHAR ( 100 ) ,
isbn VARCHAR ( 30 ) ,
total_copy INT ,
cena INT ,
PRIMARNO KLJUČ ( id ) ) ;

Izhod kaže, da je tabela »knjige« uspešno ustvarjena:

2. Člani Tabela

Zaženite naslednji stavek SQL, da ustvarite tabelo z imenom »members« v bazi podatkov »library«, ki vsebuje 5 polj in en primarni ključ. Polje »id« ima atribut auto_increment kot tabela »books«. Podatkovni tip drugih polj je varchar. Torej ta polja shranjujejo podatke o nizu.

USTVARJANJE TABELA člani (
id INT SAMODEJNO POVEČANJE ,
ime VARCHAR ( petdeset ) ,
naslov VARCHAR ( 200 ) ,
kontaktna št VARCHAR ( petnajst ) ,
E-naslov VARCHAR ( petdeset ) ,
PRIMARNO KLJUČ ( id ) ) ;

Izhod pokaže, da je tabela »člani« uspešno ustvarjena:

3. Izposoja_info Tabela

Zaženite naslednji stavek SQL, da ustvarite tabelo z imenom “borrow_info” v bazi podatkov “library”, ki vsebuje 6 polj. Tu je polje »id« primarni ključ, vendar se atribut auto_increment ne uporablja za to polje. Torej je edinstvena vrednost ročno vstavljena v to polje, ko je v tabelo vstavljen nov zapis. Polji book_id in member_id sta tuja ključa za to tabelo; to sta primarni ključ tabele 'knjige' in tabele 'člani'. Podatkovna vrsta polj borrow_date in return_date sta datum. Ti dve polji torej shranita vrednost datuma v obliki zapisa »LLLL-MM-DD«.

USTVARJANJE TABELA borrow_info (
id INT ,
datum_izposoje DATUM ,
book_id INT ,
član_id INT ,
datum_vračila DATUM ,
STANJE VARCHAR ( 10 ) ,
PRIMARNO KLJUČ ( id ) ,
TUJINA KLJUČ ( book_id ) REFERENCE knjige ( id ) ,
TUJINA KLJUČ ( član_id ) REFERENCE člani ( id ) ) ;

Izhod pokaže, da je tabela »borrow_info« uspešno ustvarjena:

Preimenujte ime tabele

Stavek ALTER TABLE lahko uporabite za več namenov v stavkih SQL. Zaženite naslednji stavek ALTER TABLE, da spremenite ime tabele »borrow_info« v »book_borrow_info«. Nato lahko s stavkom SHOW tables preverite, ali je bilo ime tabele spremenjeno ali ne.

SPREMINJATI TABELA borrow_info PREIMENUJ TO info_za_izposojo_knjige;
PRIKAŽI TABELE ;

Izhod kaže, da je bilo ime tabele uspešno spremenjeno in da je bilo ime tabele borrow_info spremenjeno v book_borrow_info:

Dodajte nov stolpec v tabelo

Stavek ALTER TABLE lahko uporabite za dodajanje ali brisanje enega ali več stolpcev po ustvarjanju tabele. Naslednji stavek ALTER TABLE članom tabele doda novo polje z imenom “status”. Stavek DESCRIBE se uporablja za prikaz, ali je bila struktura tabele spremenjena ali ne.

SPREMINJATI TABELA člani DODAJ STANJE VARCHAR ( 10 ) ;
OPIŠI člani;

Izhod pokaže, da je v tabelo »člani« dodan nov stolpec, ki je »status«, podatkovni tip tabele pa je varchar:

Odstranite stolpec iz tabele

Naslednji stavek ALTER TABLE iz tabele »člani« izbriše polje z imenom »status«. Stavek DESCRIBE se uporablja za prikaz, ali je bila struktura tabele spremenjena ali ne.

SPREMINJATI TABELA člani DROP STOLPEC STANJE ;
OPIŠI člani;

Izhod pokaže, da je stolpec »stanje« odstranjen iz tabele »člani«:

V tabelo vstavite eno vrstico

Stavek INSERT INTO se uporablja za vstavljanje ene ali več vrstic v tabelo. Zaženite naslednji stavek SQL, da vstavite eno vrstico v tabelo »knjige«. Tukaj je polje »id« izpuščeno iz te poizvedbe, ker se samodejno vstavi v zapis, ko je vstavljen nov zapis za atribut samodejnega povečanja. Če je to polje uporabljeno v stavku INSERT, mora biti vrednost NULL.

VSTAVI INTO knjige ( naslov , avtor , publikacija , isbn , total_copy , cena )
VREDNOTE ( 'SQL v 10 minutah' , 'Ben Forta' , 'Založba Sams' , '784534235' , 5 , 39 ) ;

Izhod kaže, da je bil zapis uspešno dodan v tabelo »knjige«:

Podatke je mogoče vstaviti v tabelo s klavzulo SET, kjer je vsaka vrednost polja dodeljena posebej. Zaženite naslednji stavek SQL, da vstavite eno vrstico v tabelo »člani« z uporabo klavzul INSERT INTO in SET. Polje »id« je tudi v tej poizvedbi izpuščeno kot prejšnji primer iz istega razloga.

VSTAVI INTO člani
NASTAVI ime = 'John Sina' , naslov = '34, Dhanmondi 9/A, Daka' , kontaktna št = '+14844731336' , E-naslov = 'john@gmail.com' ;

Izhod kaže, da je bil zapis uspešno dodan v tabelo članov:

Zaženite naslednji stavek SQL, da vstavite eno vrstico v tabelo »book_borrow_info«:

VSTAVI INTO info_izposoja_knjige ( id , datum_izposoje , book_id , član_id , datum_vračila , STANJE )
VREDNOTE ( 1 , '2023-03-12' , 1 , 1 , '2023-03-19' , 'izposojeno' ) ;

Izhod pokaže, da je v tabelo »book_borrow_info« dodan zapis:

V tabelo vstavite več vrstic

Včasih zahteva dodajanje več zapisov hkrati z enim samim stavkom INSERT INTO. Zaženite naslednji stavek SQL, da vstavite tri zapise v tabelo »knjige« z enim samim stavkom INSERT INTO. V tem primeru se klavzula VALUES uporabi enkrat, podatki vsakega zapisa pa so ločeni z vejico.

VSTAVI INTO knjige ( naslov , avtor , publikacija , isbn , total_copy , cena )
VREDNOTE
( 'Kuharica SQL (O'Reilly)' , 'Anthony Molinaro' , 'O'Reilly' , '2467777532' , 10 , 49 ) ,
( 'SQL poizvedbe za navadne smrtnike' , 'John Viescas' , 'Addison-Wesley' , '673456234' , petnajst , 35 ) ,
( 'Učenje SQL' , 'Alan Beaulieu' , 'Penguin Books Ltd' , '534433222' , 12 , Štiri, pet ) ;

Izhod pokaže, da so v tabelo »knjige« dodani trije zapisi:

Preberite vsa posebna polja v tabeli

Stavek SELECT se uporablja za branje podatkov iz tabele »baze podatkov«. Simbol “*” se uporablja za označevanje vseh polj tabele v stavku SELECT. Zaženite naslednji ukaz SQL, da preberete vse zapise tabele knjig:

IZBERI * OD knjige;

Izhod prikazuje vse zapise tabele knjig, ki vsebuje 4 zapise:

Zaženite naslednji ukaz SQL, da preberete vse zapise treh polj tabele »člani«:

IZBERI ime , E-naslov , kontaktna št OD člani;

Izhod prikazuje vse zapise treh polj tabele »člani«:

Preberite tabelo po filtriranju podatkov iz tabele

Klavzula WHERE se uporablja za branje podatkov iz tabele na podlagi enega ali več pogojev. Zaženite naslednji stavek SELECT, da preberete vse zapise vseh polj tabele »knjige«, kjer je ime avtorja »John Viescas«.

IZBERI * OD knjige KJE avtor = 'John Viescas' ;

Tabela »knjige« vsebuje en zapis, ki se ujema s pogojem stavka WHERE, ki je prikazan v izhodu:

Preberite tabelo po filtriranju podatkov na podlagi logične logike

Logika Boolov IN se uporablja za definiranje več pogojev v stavku WHERE, ki vrne true, če vsi pogoji vrnejo true. Zaženite naslednji stavek SELECT, da z uporabo logičnega IN preberete vse zapise vseh polj tabele »knjige«, kjer je vrednost polja total_copy večja od 10 in vrednost polja cene manjša od 45.

IZBERI * OD knjige KJE total_copy > 10 IN cena < Štiri, pet ;

Tabela knjig vsebuje en zapis, ki se ujema s pogojem stavka WHERE, ki je prikazan v izhodu:

Logika Boolean OR se uporablja za definiranje več pogojev v klavzuli WHERE, ki vrne true, če kateri koli od pogojev vrne true. Zaženite naslednji stavek SELECT, da preberete vse zapise vseh polj tabele »knjige«, kjer je vrednost polja total_copy večja od 10 ali je vrednost polja cene večja od 40.

IZBERI * OD knjige KJE total_copy > 10 ALI cena > 40 ;

Tabela knjig vsebuje tri zapise, ki se ujemajo s pogojem stavka WHERE, ki je prikazan v izhodu:

Logika Boolean NOT se uporablja za vrnitev false, ko je pogoj resničen, in vrne true, ko je pogoj napačen. Zaženite naslednji stavek SELECT, da preberete vse zapise vseh polj tabele »knjige«, kjer vrednost polja avtorja ni »Addison-Wesley«.

IZBERI * OD knjige KJE NE avtor = 'Addison-Wesley' ;

Tabela »knjige« vsebuje tri zapise, ki se ujemajo s pogojem stavka WHERE, ki je prikazan v izhodu:

Preberite tabelo po filtriranju vrstic na podlagi obsega podatkov

Klavzula BETWEEN se uporablja za branje obsega podatkov iz tabele baze podatkov. Zaženite naslednji stavek SELECT, da preberete vse zapise vseh polj tabele »knjige«, kjer je vrednost polja cene med 40 in 50.

IZBERI * OD knjige KJE cena MED 40 IN petdeset ;

Tabela knjig vsebuje dva zapisa, ki se ujemata s pogojem stavka WHERE, ki je prikazan v izhodu. Knjigi vrednosti cen, 39 in 35, sta izpuščeni iz nabora rezultatov, ker sta izven obsega.

Preberite tabelo po razvrščanju tabele

Klavzula ORDER BY se uporablja za razvrščanje niza rezultatov stavka SELECT v naraščajočem ali padajočem vrstnem redu. Nabor rezultatov je privzeto razvrščen v naraščajočem vrstnem redu, če je klavzula ORDER BY uporabljena brez ASC ali DESC. Naslednji stavek SELECT prebere razvrščene zapise iz tabele knjig glede na naslovno polje:

IZBERI * OD knjige NAROČITE BY naslov;

Podatki naslovnega polja tabele »knjige« so v izhodu razvrščeni v naraščajočem vrstnem redu. Knjiga »Učenje SQL« je prva po abecedi, če je naslovno polje tabele »knjige« razvrščeno v naraščajočem vrstnem redu.

Preberite tabelo tako, da nastavite alternativno ime stolpca

Nadomestno ime stolpca je uporabljeno v poizvedbi, da je niz rezultatov bolj berljiv. Alternativno ime je nastavljeno s ključno besedo »AS«. Naslednji stavek SQL vrne vrednosti polj naslova in avtorja z nastavitvijo alternativnih imen.

IZBERI naslov AS `Ime knjige` , avtor AS `Ime avtorja`
OD knjige;

Naslovno polje je prikazano z alternativnim imenom, ki je »Ime knjige«, polje avtorja pa je prikazano z alternativnim imenom, ki je »Ime avtorja« v izhodu.

Preštejte skupno število vrstic v tabeli

COUNT() je agregatna funkcija SQL, ki se uporablja za štetje skupnega števila vrstic na podlagi določenega polja ali vseh polj. Simbol “*” se uporablja za označevanje vseh polj, COUNT(*) pa za štetje vseh zapisov v tabeli.

Naslednja poizvedba prešteje skupno število zapisov v tabeli knjig:

IZBERI ŠTEJTE ( * ) AS `Skupaj knjig` OD knjige;

V izhodu so prikazani štirje zapisi v tabeli »knjige«:

Naslednja poizvedba prešteje skupno število vrstic tabele »člani« na podlagi polja »id«:

IZBERI ŠTEJTE ( id ) AS `Skupno število članov` OD člani;

Tabela »člani« ima dve vrednosti ID-ja, ki sta natisnjeni v izhodu:

Branje podatkov iz več tabel

Prejšnji stavki SELECT so pridobili podatke iz ene same tabele. Stavek SELECT pa lahko uporabite za pridobivanje podatkov iz dveh ali več tabel. Naslednja poizvedba SELECT prebere vrednosti polj za naslov in avtorja iz tabele »knjige« in datum izposoje iz tabele »book_borrow_info«.

IZBERI naslov , avtor , datum_izposoje
OD knjige , info_izposoja_knjige
KJE knjige . id = info_izposoja_knjige . book_id;

Naslednji rezultat kaže, da je bila knjiga »SQL v 10 minutah« izposojena dvakrat, knjiga »SQL Cookbook (O'Reilly)« pa enkrat:

Podatke je mogoče pridobiti iz več tabel z uporabo različnih vrst ZDRUŽIVANJ, kot so INNER JOIN, ZUNANJI ZDRUŽIVANJA itd., ki niso pojasnjeni v tej vadnici.

Preberite tabelo z združevanjem posameznih polj

Klavzula GROUP BY se uporablja za branje zapisov iz tabele z združevanjem vrstic na podlagi enega ali več polj. Ta vrsta poizvedbe se imenuje povzetek poizvedbe. V tabele morate vstaviti več vrstic, da preverite uporabo klavzule GROUP BY. Zaženite naslednje stavke INSERT, da vstavite en zapis v tabelo »člani« in dva zapisa v tabelo »book_borrow_info«.

VSTAVI INTO člani
NASTAVI ime = 'Ona Hasan' , naslov = '11/A, Jigatola, Daka' , kontaktna št = '+8801734563423' , E-naslov = 'ona@gmail.com' ;
VSTAVI INTO info_izposoja_knjige ( id , datum_izposoje , book_id , član_id , datum_vračila , STANJE )
VREDNOTE ( 2 , '10.4.2023' , 1 , 1 , '15.4.2023' , 'vrnjeno' ) ;
VSTAVI INTO info_izposoja_knjige ( id , datum_izposoje , book_id , član_id , datum_vračila , STANJE )
VREDNOTE ( 3 , '20.5.2023' , 2 , 1 , '2023-05-30' , 'izposojeno' ) ;

Ko vstavite podatke z izvedbo prejšnjih poizvedb, zaženite naslednji stavek SELECT, ki prešteje skupno število izposojenih knjig in ime člana glede na vsakega člana z uporabo klavzule GROUP BY. Tukaj funkcija COUNT() deluje na polju, ki se uporablja za ponovno združevanje zapisov s klavzulo GROUP BY. Polje book_id tabele »člani« se tukaj uporablja za združevanje.

IZBERI ŠTEJTE ( book_id ) AS `Celotna izposojena knjiga` , ime AS `Ime člana` OD knjige , člani , info_izposoja_knjige KJE knjige . id = info_izposoja_knjige . book_id IN člani . id = info_izposoja_knjige . član_id SKUPINA BY info_izposoja_knjige . član_id;

Po podatkih tabel knjig, članov in book_borrow_info si je »John Sina« izposodil 2 knjigi, »Ella Hasan« pa 1 knjigo.

Preberite tabelo, potem ko ste izpustili podvojene vrednosti

Včasih se v nizu rezultatov stavka SELECT ustvarijo podvojeni podatki na podlagi podatkov tabele, ki so nepotrebni. Naslednji stavek SELECT na primer vrne podvojene zapise za podatke tabele »book_borrow_info«.

IZBERI ime , E-naslov
OD člani , info_izposoja_knjige
KJE info_izposoja_knjige . član_id = člani . id;

V izpisu se isti zapis pojavi dvakrat, ker si je član »John Sina« izposodil dve knjigi. To težavo je mogoče rešiti s ključno besedo DISTINCT. Odstrani podvojene zapise iz rezultata poizvedbe.

Naslednji stavek SELECT generira edinstvene zapise nabora rezultatov iz tabel »members« in »book_borrow_info« po izpustitvi podvojenih vrednosti z uporabo ključne besede DISTINCT v poizvedbi.

IZBERI IZRAZIT ime , E-naslov
OD člani , info_izposoja_knjige
KJE info_izposoja_knjige . član_id = člani . id;

Izhod pokaže, da je podvojena vrednost odstranjena iz niza rezultatov:

Preberite tabelo tako, da omejite število vrstic

Včasih zahteva branje določenega števila zapisov od začetka niza rezultatov, konca niza rezultatov ali sredine niza rezultatov iz tabele zbirke podatkov z omejitvijo števila vrstic. To je mogoče storiti na več načinov. Preden omejite vrstice, zaženite naslednji stavek SQL, da preverite, koliko zapisov obstaja v tabeli knjig:

IZBERI * OD knjige;

Izhod pokaže, da ima tabela knjig štiri zapise:

Naslednji stavek SELECT prebere prva dva zapisa iz tabele »knjige« z uporabo klavzule LIMIT z vrednostjo 2:

IZBERI * OD knjige OMEJITEV 2 ;

Pridobita se prva dva zapisa tabele »knjige«, kar je prikazano v izhodu:

Klavzula FETCH je alternativa klavzuli LIMIT in njena uporaba je prikazana v naslednjem stavku SELECT. Prvi 3 zapisi tabele »knjige« so pridobljeni s klavzulo FETCH FIRST 3 ROWS ONLY v stavku SELECT:

IZBERI * OD knjige FETCH NAJPREJ 3 VRSTICE SAMO ;

Izhod prikazuje prve 3 zapise tabele »knjige«:

Dva zapisa iz 3 rd vrstici tabele knjig se pridobijo z izvedbo naslednjega stavka SELECT. Klavzula LIMIT se tukaj uporablja z vrednostjo 2, 2, kjer prva 2 določata začetni položaj vrstice tabele, ki se začne šteti od 0, drugi 2 pa določa število vrstic, ki se začne šteti od začetnega položaja.

IZBERI * OD knjige OMEJITEV 2 , 2 ;

Po izvedbi prejšnje poizvedbe se prikaže naslednji rezultat:

Zapise s konca tabele je mogoče prebrati z razvrščanjem tabele v padajočem vrstnem redu glede na samodejno povečano vrednost primarnega ključa in uporabo klavzule LIMIT. Zaženite naslednji stavek SELECT, ki prebere zadnja 2 zapisa iz tabele »knjige«. Tukaj je nabor rezultatov razvrščen v padajočem vrstnem redu glede na polje »id«.

IZBERI * OD knjige NAROČITE BY id OPIS OMEJITEV 2 ;

Zadnja dva zapisa tabele knjig sta prikazana v naslednjem izhodu:

Preberite tabelo na podlagi delnega ujemanja

Klavzula LIKE se uporablja s simbolom »%« za pridobivanje zapisov iz tabele z delnim ujemanjem. Naslednji stavek SELECT išče zapise iz tabele »knjige«, kjer polje avtorja vsebuje »Janez« na začetku vrednosti z uporabo klavzule LIKE. Tu se na koncu iskalnega niza uporablja simbol »%«.

IZBERI * OD knjige KJE avtor Všeč mi je 'Janez %' ;

V tabeli »knjige« obstaja samo en zapis, ki vsebuje niz »Janez« na začetku vrednosti polja avtorja.

Naslednji stavek SELECT išče zapise iz tabele »knjige«, kjer polje objave vsebuje »Ltd« na koncu vrednosti z uporabo klavzule LIKE. Tukaj je simbol »%« uporabljen na začetku iskalnega niza:

IZBERI * OD knjige KJE publikacija Všeč mi je '% doo' ;

V tabeli »knjige« obstaja samo en zapis, ki vsebuje niz »Ltd« na koncu polja objave.

Naslednji stavek SELECT išče zapise iz tabele »knjige«, kjer naslovno polje vsebuje »Poizvedbe« kjer koli vrednosti z uporabo klavzule LIKE. Tukaj je simbol »%« uporabljen na obeh straneh iskalnega niza:

IZBERI * OD knjige KJE naslov Všeč mi je '% Queries%' ;

V tabeli »knjig« obstaja samo en zapis, ki vsebuje niz »Poizvedbe« v naslovnem polju.

Preštejte vsoto določenega polja tabele

SUM() je še ena uporabna agregatna funkcija SQL, ki izračuna vsoto vrednosti katerega koli številskega polja v tabeli. Ta funkcija sprejme en argument, ki mora biti številski. Naslednji stavek SQL izračuna vsoto vseh vrednosti polja cene tabele »knjige«, ki vsebuje celoštevilske vrednosti.

IZBERI SUM ( cena ) AS `Skupna cena knjige`
OD knjige;

Izhod prikazuje vrednost seštevka vseh vrednosti polja cene tabele »knjige«. Štiri vrednosti polja cene so 39, 49, 35 in 45. Vsota teh vrednosti je 168.

Poiščite največjo in najmanjšo vrednost določenega polja

Zbirni funkciji MIN() in MAX() se uporabljata za ugotavljanje najmanjše in največje vrednosti določenega polja tabele. Obe funkciji sprejmeta en argument, ki mora biti številski. Naslednji stavek SQL ugotovi najnižjo vrednost cene iz tabele »knjige«, ki je celo število.

IZBERI MIN ( cena ) AS `Knjiga minimalnih stroškov` OD knjige;

Petintrideset (35) je najmanjša vrednost polja cene, ki je natisnjena v izhodu.

Naslednji stavek SQL ugotovi najvišjo vrednost cene iz tabele »knjige«:

IZBERI MAKS ( cena ) AS 'Knjiga najvišjih stroškov'. OD knjige;

Devetinštirideset (49) je največja vrednost polja cene, ki je natisnjena v izhodu.

Preberite določen del podatkov ali polja

Funkcija SUBSTR() se uporablja v stavku SQL za pridobitev določenega dela podatkov niza ali vrednosti določenega polja tabele. Ta funkcija vsebuje tri argumente. Prvi argument vsebuje vrednost niza ali vrednost polja tabele, ki je niz. Drugi argument vsebuje začetni položaj podniza, ki je pridobljen iz prvega argumenta, in štetje te vrednosti se začne od 1. Tretji argument vsebuje dolžino podniza, ki se začne šteti od začetnega položaja.

Naslednji stavek SELECT izreže in natisne prvih pet znakov iz niza »Naučite se osnov SQL«, kjer je začetni položaj 1 in dolžina 5:

IZBERI SUBSTR ( 'Naučite se osnov SQL' , 1 , 5 ) AS `Vrednost podniza` ;

Prvih pet znakov niza »Learn SQL Basics« je »Learn«, ki je natisnjen v izhodu.

Naslednji stavek SELECT izreže in natisne SQL iz niza »Naučite se osnov SQL«, kjer je začetni položaj 7 in dolžina 3:

IZBERI SUBSTR ( 'Naučite se osnov SQL' , 7 , 3 ) AS `Vrednost podniza` ;

Po izvedbi prejšnje poizvedbe se prikaže naslednji rezultat:

Naslednji stavek SELECT izreže in natisne prvih pet znakov iz polja imena tabele »člani«:

IZBERI SUBSTR ( ime , 1 , 5 ) AS `Ime člana` OD člani;

Izhod prikazuje prvih pet znakov vsake vrednosti polja imena tabele »člani«.

Preberite podatke tabele po veriženju

Funkcija CONCAT() se uporablja za ustvarjanje izhodnih podatkov s kombiniranjem enega ali več polj tabele ali dodajanjem podatkov niza ali določene vrednosti polja tabele. Naslednji stavek SQL prebere vrednosti polj naslova, avtorja in cene v tabeli »knjige«, vrednost niza »$« pa se doda vsaki vrednosti polja cene s funkcijo CONCAT().

IZBERI naslov AS Naslov , avtor AS Avtor , CONCAT ( '$' , cena ) AS Cena
OD knjige;

Vrednosti polja cene so natisnjene v izhodu z združevanjem z nizom »$«.

Zaženite naslednji stavek SQL, da združite vrednosti polj naslova in avtorja tabele »knjige« z vrednostjo niza »by« s funkcijo CONCAT():

IZBERI CONCAT ( naslov , ' od ' , avtor ) AS `Ime knjige z avtorjem`
OD knjige;

Po izvedbi prejšnje poizvedbe SELECT se prikaže naslednji rezultat:

Preberite podatke tabele po matematičnem izračunu

Vsak matematični izračun je mogoče izvesti v času pridobivanja vrednosti tabele z uporabo stavka SELECT. Zaženite naslednji stavek SQL, da preberete ID, naslov, ceno in vrednost znižane cene po izračunu 5-odstotnega popusta.

IZBERI id , naslov , cena AS `Redna cena` , cena - ( cena * 5 / 100 ) AS `Cena s popustom`
OD knjige;

Naslednji rezultat prikazuje redno ceno in ceno s popustom za vsako knjigo:

Ustvari pogled tabele

VIEW se uporablja za poenostavitev poizvedbe in zagotavlja dodatno varnost baze podatkov. Deluje kot virtualna tabela, ki je ustvarjena iz ene ali več tabel. Metoda ustvarjanja in izvajanja enostavnega POGLEDA na podlagi tabele »člani« je prikazana v naslednjem primeru. VIEW se izvede z uporabo stavka SELECT. Naslednji stavek SQL ustvari POGLED tabele »člani« s polji id, name, naslov in contact_no. Stavek SELECT izvede member_view.

USTVARJANJE OGLED član_pogled AS
IZBERI id , ime , naslov , kontaktna št
OD člani;

IZBERI * OD član_pogled;

Po ustvarjanju in izvedbi pogleda se prikaže naslednji rezultat:

Posodobite tabelo glede na določeno stanje

Stavek UPDATE se uporablja za posodobitev vsebine tabele. Če se katera koli poizvedba UPDATE izvede brez stavka WHERE, se posodobijo vsa polja, uporabljena v poizvedbi UPDATE. Zato je treba uporabiti stavek UPDATE z ustrezno klavzulo WHERE. Zaženite naslednji stavek UPDATE, da posodobite polji name in contact_no, kjer je vrednost polja id 1. Nato izvedite stavek SELECT, da preverite, ali so podatki pravilno posodobljeni ali ne.

NADGRADNJA člani
NASTAVI ime = 'Janifer' , kontaktna št = '+880175621223'
KJE id = 1 ;

IZBERI * OD člani;

Naslednji izhod kaže, da je bil stavek UPDATE uspešno izveden. Vrednost polja z imenom se spremeni v »Janifer« in polje contact_no se spremeni v »+880175621223« zapisa, ki vsebuje vrednost ID-ja 1 s poizvedbo UPDATE:

Izbrišite podatke tabele na podlagi posebnega stanja

Stavek DELETE se uporablja za brisanje določene ali celotne vsebine tabele. Če se katera koli poizvedba DELETE izvede brez stavka WHERE, se izbrišejo vsa polja. Zato je treba uporabiti stavek UPDATE z ustreznim stavkom WHERE. Zaženite naslednji stavek DELETE, da izbrišete vse podatke iz tabele knjig, kjer je vrednost ID-ja 4. Nato izvedite stavek SELECT, da preverite, ali so podatki pravilno izbrisani ali ne.

IZBRIŠI OD knjige KJE id = 4 ;
IZBERI * OD knjige;

Naslednji izhod kaže, da je bil stavek DELETE uspešno izveden. 4 th zapis tabele knjig se odstrani s poizvedbo DELETE:

Izbriši vse zapise iz tabele

Zaženite naslednji stavek DELETE, da izbrišete vse zapise iz tabele »knjige«, kjer je stavek WHERE izpuščen. Nato izvedite poizvedbo SELECT, da preverite vsebino tabele.

IZBRIŠI OD info_za_izposojo_knjige;
IZBERI * OD info_za_izposojo_knjige;

Naslednji izhod kaže, da je tabela »knjige« prazna po izvedbi poizvedbe DELETE:

Če katera koli tabela vsebuje atribut samodejnega povečanja in so vsi zapisi izbrisani iz tabele, se polje za samodejno povečanje začne šteti od zadnjega povečanja, ko je vstavljen nov zapis, potem ko je tabela prazna. To težavo je mogoče rešiti s stavkom TRUNCATE. Uporablja se tudi za brisanje vseh zapisov iz tabele, vendar polje za samodejno povečanje začne šteti od 1 po izbrisu vseh zapisov iz tabele. SQL stavka TRUNCATE je prikazan v naslednjem:

OKRAJ info_za_izposojo_knjige;

Spustite mizo

Eno ali več tabel lahko izbrišete s preverjanjem ali brez preverjanja, ali tabela obstaja ali ne. Naslednji stavki DROP izbrišejo tabelo »book_borrow_info«, stavek »SHOW tables« pa preveri, ali tabela obstaja na strežniku ali ne.

DROP TABELA info_za_izposojo_knjige;
PRIKAŽI TABELE ;

Izhod pokaže, da je tabela »book_borrow_info« izpuščena.

Tabelo lahko izbrišete, potem ko preverite, ali obstaja na strežniku ali ne. Zaženite naslednji stavek DROP, da izbrišete tabelo knjig in članov, če te tabele obstajajo v strežniku. Nato stavek “SHOW tables” preveri, ali tabele obstajajo na strežniku ali ne.

DROP TABELA ČE OBSTAJA knjige , člani;
PRIKAŽI TABELE ;

Naslednji izhod kaže, da so tabele izbrisane s strežnika:

Spustite bazo podatkov

Zaženite naslednji stavek SQL, da iz strežnika izbrišete bazo podatkov »knjižnice«:

DROP BAZA PODATKOV knjižnica;

Izhod pokaže, da je zbirka podatkov izbrisana.

Zaključek

Najpogosteje uporabljeni primeri poizvedb SQL za ustvarjanje, dostop, spreminjanje in brisanje baze podatkov strežnika MariaDB so prikazani v tej vadnici z ustvarjanjem baze podatkov in treh tabel. Uporaba različnih stavkov SQL je razložena z zelo preprostimi primeri, ki novemu uporabniku baze podatkov pomagajo pri pravilnem učenju osnov SQL. Uporaba kompleksnih poizvedb je tukaj izpuščena. Novi uporabniki baze podatkov bodo lahko začeli delati s katero koli bazo podatkov, potem ko bodo pravilno prebrali to vadnico.