Edellytykset
Sinun on asennettava tietokantapalvelin asiakkaan kanssa ennen kuin harjoittelet tämän opetusohjelman esimerkkejä. Tässä opetusohjelmassa käytetään MariaDB-tietokantapalvelinta ja asiakasohjelmaa.
1. Päivitä järjestelmä suorittamalla seuraavat komennot:
$ sudo apt-get päivitys
2. Asenna MariaDB-palvelin ja -asiakas suorittamalla seuraava komento:
$ sudo apt-get asenna mariadb-server mariadb-client
3. Asenna MariaDB-tietokannan suojauskomentosarja suorittamalla seuraava komento:
$ sudo mysql_secure_installation
4. Käynnistä MariaDB-palvelin uudelleen suorittamalla seuraava komento:
$ sudo /etc/init.d/mariadb restart
6. Suorita seuraava komento kirjautuaksesi MariaDB-palvelimeen:
$ sudo mariadb -u root -pLuettelo SQL-kyselyesimerkeistä
- Luo tietokanta
- Luo taulukot
- Nimeä taulukon nimi uudelleen
- Lisää uusi sarake taulukkoon
- Poista sarake taulukosta
- Lisää yksi rivi taulukkoon
- Lisää useita rivejä taulukkoon
- Lue kaikki tietyt kentät taulukosta
- Lue taulukko taulukon tietojen suodattamisen jälkeen
- Lue taulukko sen jälkeen, kun olet suodattanut tiedot Boolen logiikkaan
- Lue taulukko sen jälkeen, kun olet suodattanut rivit tietoalueen perusteella
- Lue taulukko lajiteltuasi taulukon tiettyjen sarakkeiden perusteella.
- Lue taulukko asettamalla sarakkeen vaihtoehtoinen nimi
- Laske taulukon rivien kokonaismäärä
- Lue tiedot useista taulukoista
- Lue taulukko ryhmittelemällä tietyt kentät
- Lue taulukko kaksoisarvojen jättämisen jälkeen
- Lue taulukko rajoittamalla rivin numeroa
- Lue taulukko osittaisen vastaavuuden perusteella
- Laske taulukon tietyn kentän summa
- Etsi tietyn kentän enimmäis- ja vähimmäisarvot
- Lue tiedot kentän tietystä osasta
- Lue taulukon tiedot ketjutuksen jälkeen
- Lue taulukon tiedot matemaattisen laskennan jälkeen
- Luo näkymä taulukosta
- Päivitä taulukko erityistilanteen perusteella
- Poista taulukon tiedot tietyn ehdon perusteella
- Poista kaikki tietueet taulukosta
- Pudota pöytä
- Pudota tietokanta
Luo tietokanta
Oletetaan, että meidän on suunniteltava yksinkertainen tietokanta kirjastonhallintajärjestelmälle. Tämän tehtävän suorittamiseksi palvelimeen on luotava tietokanta, joka sisältää useita relaatiotaulukoita. Kun olet kirjautunut sisään tietokantapalvelimelle, suorita seuraava komento luodaksesi tietokanta nimeltä 'kirjasto' MariaDB-tietokantapalvelimeen:
LUODA TIETOKANTA kirjasto;Tulos osoittaa, että kirjastotietokanta on luotu palvelimelle:
Suorita seuraava komento valitaksesi tietokanta palvelimelta erityyppisten tietokantatoimintojen suorittamiseksi:
KÄYTTÄÄ kirjasto;Tulos näyttää, että kirjastotietokanta on valittu:
Luo taulukot
Seuraava askel on luoda tarvittavat taulukot tietokantaan tietojen tallentamista varten. Tässä opetusohjelman osassa luodaan kolme taulukkoa. Nämä ovat kirjoja, jäseniä ja lainaustietotaulukoita.
- Kirjataulukko tallentaa kaikki kirjaan liittyvät tiedot.
- Jäsentaulukko tallentaa kaikki tiedot jäsenistä, jotka lainaavat kirjan kirjastosta.
- Lainaustiedot -taulukko tallentaa tiedot siitä, minkä kirjan mikä jäsen on lainannut.
1. Kirjat Pöytä
Suorita seuraava SQL-käsky luodaksesi 'books'-nimisen taulukon 'kirjasto'-tietokantaan, joka sisältää seitsemän kenttää ja yhden ensisijaisen avaimen. Tässä 'id'-kenttä on ensisijainen avain ja tietotyyppi on int. Auto_increment-attribuuttia käytetään 'id'-kentässä. Joten tämän kentän arvoa kasvatetaan automaattisesti, kun uusi rivi lisätään. Varchar-tietotyyppiä käytetään muuttuvan pituisten merkkijonotietojen tallentamiseen. Otsikko-, tekijä-, julkaisu- ja isbn-kentät tallentavat merkkijonotiedot. Total_copy- ja price-kenttien tietotyyppi ovat int. Joten nämä kentät tallentavat numeeriset tiedot.
LUODA PÖYTÄ kirjat (id INT AUTO_INCREMENT ,
otsikko VARCHAR ( viisikymmentä ) ,
kirjoittaja VARCHAR ( viisikymmentä ) ,
julkaisu VARCHAR ( 100 ) ,
isbn VARCHAR ( 30 ) ,
total_copy INT ,
hinta INT ,
ENSISIJAINEN AVAIN ( id ) ) ;
Tulos osoittaa, että 'kirjat' -taulukko on luotu onnistuneesti:
2. Jäsenet Pöytä
Suorita seuraava SQL-käsky luodaksesi taulukko nimeltä 'jäsenet' 'kirjasto'-tietokantaan, joka sisältää 5 kenttää ja yhden ensisijaisen avaimen. 'Id'-kentässä on auto_increment-attribuutti, kuten 'books'-taulukossa. Muiden kenttien tietotyyppi on varchar. Joten nämä kentät tallentavat merkkijonotiedot.
LUODA PÖYTÄ jäsenet (id INT AUTO_INCREMENT ,
nimi VARCHAR ( viisikymmentä ) ,
osoite VARCHAR ( 200 ) ,
yhteystieto_nro VARCHAR ( viisitoista ) ,
sähköposti VARCHAR ( viisikymmentä ) ,
ENSISIJAINEN AVAIN ( id ) ) ;
Tulos osoittaa, että 'jäsenet' -taulukko on luotu onnistuneesti:
3. Lainaa_tiedot Pöytä
Suorita seuraava SQL-käsky luodaksesi taulukon nimeltä 'borrow_info' 'kirjasto'-tietokantaan, joka sisältää 6 kenttää. Tässä 'id'-kenttä on ensisijainen avain, mutta auto_increment-attribuuttia ei käytetä tässä kentässä. Joten yksilöllinen arvo lisätään manuaalisesti tähän kenttään, kun uusi tietue lisätään taulukkoon. Kirjan_id- ja Member_id-kentät ovat tämän taulukon vieraita avaimia. ne ovat 'kirjat'- ja 'jäsenet'-taulukon ensisijainen avain. Lainauspäivämäärä- ja palautuspäivämäärä-kenttien tietotyypit ovat päivämäärä. Joten nämä kaksi kenttää tallentavat päivämäärän arvon 'VVVV-KK-PP' -muodossa.
LUODA PÖYTÄ laina_tiedot (id INT ,
lainauspäivämäärä PÄIVÄMÄÄRÄ ,
book_id INT ,
jäsentunnus INT ,
palautuspäivä PÄIVÄMÄÄRÄ ,
TILA VARCHAR ( 10 ) ,
ENSISIJAINEN AVAIN ( id ) ,
ULKOMAAN AVAIN ( book_id ) VIITTEET kirjat ( id ) ,
ULKOMAAN AVAIN ( jäsentunnus ) VIITTEET jäsenet ( id ) ) ;
Tulos näyttää, että “borrow_info”-taulukko on luotu onnistuneesti:
Nimeä taulukon nimi uudelleen
ALTER TABLE -käskyä voidaan käyttää useisiin tarkoituksiin SQL-käskyissä. Suorita seuraava ALTER TABLE -käsky muuttaaksesi 'lainaustiedot'-taulukon nimeksi 'book_borrow_info'. Seuraavaksi SHOW tables -käskyn avulla voidaan tarkistaa, onko taulukon nimi muuttunut vai ei.
MUUTTAA PÖYTÄ laina_tiedot NIMEÄ UUDELLEEN TO kirja_lainaustiedot;NÄYTÄ TAULUKOT ;
Tulos näyttää, että taulukon nimen muuttaminen onnistui ja lainaustiedot -taulukon nimeksi on muutettu book_borrow_info:
Lisää uusi sarake taulukkoon
ALTER TABLE -käskyä voidaan käyttää yhden tai useamman sarakkeen lisäämiseen tai poistamiseen taulukon luomisen jälkeen. Seuraava ALTER TABLE -käsky lisää uuden kentän nimeltä 'status' taulukon jäseniin. DESCRIBE-käskyä käytetään osoittamaan, onko taulukon rakennetta muutettu vai ei.
MUUTTAA PÖYTÄ jäsenet LISÄTÄ TILA VARCHAR ( 10 ) ;KUVAUS jäsenet;
Tulos näyttää, että uusi sarake, joka on 'status', lisätään 'jäsenet' -taulukkoon ja taulukon tietotyyppi on varchar:
Poista sarake taulukosta
Seuraava ALTER TABLE -käsky poistaa kentän nimeltä 'status' 'jäsenet'-taulukosta. DESCRIBE-käskyä käytetään osoittamaan, onko taulukon rakennetta muutettu vai ei.
MUUTTAA PÖYTÄ jäsenet PUDOTA SARAKE TILA ;KUVAUS jäsenet;
Tulos näyttää, että 'status' -sarake on poistettu 'jäsenet' -taulukosta:
Lisää yksi rivi taulukkoon
INSERT INTO -käskyä käytetään yhden tai useamman rivin lisäämiseen taulukkoon. Suorita seuraava SQL-käsky lisätäksesi yhden rivin 'books'-taulukkoon. Tässä 'id'-kenttä jätetään pois tästä kyselystä, koska se lisätään automaattisesti tietueeseen, kun uusi tietue lisätään auto-increment-attribuutille. Jos tätä kenttää käytetään INSERT-käskyssä, arvon on oltava NULL.
LISÄÄ INTO kirjat ( otsikko , kirjoittaja , julkaisu , isbn , total_copy , hinta )ARVOT ( 'SQL 10 minuutissa' , 'Ben Forta' , 'Sams Publishing' , '784534235' , 5 , 39 ) ;
Tulos näyttää, että tietue on lisätty 'kirjat' -taulukkoon onnistuneesti:
Tiedot voidaan lisätä taulukkoon SET-lausekkeen avulla, jossa jokainen kentän arvo määritetään erikseen. Suorita seuraava SQL-käsky lisätäksesi yhden rivin 'jäsenet'-taulukkoon käyttämällä INSERT INTO- ja SET-lauseita. Myös 'id'-kenttä jätetään pois tästä kyselystä, kuten edellisessä esimerkissä, samasta syystä.
LISÄÄ INTO jäsenetASETA nimi = 'John Sina' , osoite = '34, Dhanmondi 9/A, Dhaka' , yhteystieto_nro = '+14844731336' , sähköposti = 'john@gmail.com' ;
Tulos näyttää, että tietue on lisätty jäsentaulukkoon onnistuneesti:
Suorita seuraava SQL-käsky lisätäksesi yhden rivin 'book_borrow_info' -taulukkoon:
LISÄÄ INTO kirja_lainaustiedot ( id , lainauspäivämäärä , book_id , jäsentunnus , palautuspäivä , TILA )ARVOT ( 1 , '2023-03-12' , 1 , 1 , '2023-03-19' , 'lainattu' ) ;
Tulos näyttää, että tietue on lisätty 'book_borrow_info' -taulukkoon:
Lisää useita rivejä taulukkoon
Joskus se edellyttää useiden tietueiden lisäämistä kerralla käyttämällä yhtä INSERT INTO -käskyä. Suorita seuraava SQL-käsky lisätäksesi kolme tietuetta 'books'-taulukkoon yhdellä INSERT INTO -käskyllä. Tässä tapauksessa VALUES-lausetta käytetään kerran ja kunkin tietueen tiedot erotetaan pilkulla.
LISÄÄ INTO kirjat ( otsikko , kirjoittaja , julkaisu , isbn , total_copy , hinta )ARVOT
( 'SQL-keittokirja (O'Reilly)' , 'Anthony Molinaro' , 'O'Reilly' , '2467777532' , 10 , 49 ) ,
( 'SQL-kyselyt pelkille kuolevaisille' , 'John Viescas' , 'Addison-Wesley' , '673456234' , viisitoista , 35 ) ,
( 'SQL:n oppiminen' , 'Alan Beaulieu' , 'Penguin Books Ltd' , '534433222' , 12 , Neljä viisi ) ;
Tulos näyttää, että kirjat-taulukkoon on lisätty kolme tietuetta:
Lue kaikki tietyt kentät taulukosta
SELECT-käskyä käytetään tietojen lukemiseen 'tietokanta'-taulukosta. “*”-symbolia käytetään merkitsemään kaikkia taulukon kenttiä SELECT-käskyssä. Suorita seuraava SQL-komento lukeaksesi kaikki kirjataulukon tietueet:
VALITSE * FROM kirjat;Tulos näyttää kaikki kirjataulukon tietueet, joka sisältää 4 tietuetta:
Suorita seuraava SQL-komento lukeaksesi kaikki 'jäsenet'-taulukon kolmen kentän tietueet:
VALITSE nimi , sähköposti , yhteystieto_nro FROM jäsenet;Tulos näyttää kaikki 'jäsenet' -taulukon kolmen kentän tietueet:
Lue taulukko taulukon tietojen suodattamisen jälkeen
WHERE-lausetta käytetään tietojen lukemiseen taulukosta yhden tai useamman ehdon perusteella. Suorita seuraava SELECT-käsky lukeaksesi kaikki tietueet kaikista 'books'-taulukon kentistä, joissa tekijän nimi on 'John Viescas'.
VALITSE * FROM kirjat MISSÄ kirjoittaja = 'John Viescas' ;“Books”-taulukko sisältää yhden tietueen, joka vastaa WHERE-lauseen ehtoa, joka näkyy tulosteessa:
Lue taulukko sen jälkeen, kun olet suodattanut tiedot Boolen logiikkaan
Boolen AND-logiikkaa käytetään määrittämään useita ehtoja WHERE-lauseessa, joka palauttaa tosi, jos kaikki ehdot palauttavat tosi. Suorita seuraava SELECT-käsky lukeaksesi kaikki kirjat-taulukon kaikkien kenttien tietueet, joissa total_copy-kentän arvo on suurempi kuin 10 ja hintakentän arvo on pienempi kuin 45, käyttämällä loogista AND-komentoa.
VALITSE * FROM kirjat MISSÄ total_copy > 10 JA hinta < Neljä viisi ;Kirjat-taulukko sisältää yhden tietueen, joka vastaa tulosteessa näkyvän WHERE-lauseen ehtoa:
Boolen OR-logiikkaa käytetään määrittämään useita ehtoja WHERE-lauseessa, joka palauttaa tosi, jos jokin ehdoista palauttaa tosi. Suorita seuraava SELECT-käsky lukeaksesi kaikki kirjat-taulukon kaikkien kenttien tietueet, joissa total_copy-kentän arvo on suurempi kuin 10 tai hintakentän arvo on suurempi kuin 40.
VALITSE * FROM kirjat MISSÄ total_copy > 10 TAI hinta > 40 ;Kirjat-taulukko sisältää kolme tietuetta, jotka vastaavat tulosteessa näkyvän WHERE-lauseen ehtoa:
Boolen NOT-logiikkaa käytetään palauttamaan epätosi, kun ehto on tosi, ja palauttaa tosi, kun ehto on epätosi. Suorita seuraava SELECT-käsky lukeaksesi kaikki tietueet kaikista 'books'-taulukon kentistä, joissa tekijäkentän arvo ei ole 'Addison-Wesley'.
VALITSE * FROM kirjat MISSÄ EI kirjoittaja = 'Addison-Wesley' ;Kirjat-taulukko sisältää kolme tietuetta, jotka vastaavat tulosteessa näkyvän WHERE-lauseen ehtoa:
Lue taulukko sen jälkeen, kun olet suodattanut rivit tietoalueen perusteella
BETWEEN-lausetta käytetään tietoalueen lukemiseen tietokantataulukosta. Suorita seuraava SELECT-käsky lukeaksesi kaikki kirjat-taulukon kaikkien kenttien tietueet, joissa hintakentän arvo on välillä 40-50.
VALITSE * FROM kirjat MISSÄ hinta VÄLILLÄ 40 JA viisikymmentä ;Kirjat-taulukko sisältää kaksi tietuetta, jotka vastaavat tulosteessa näkyvän WHERE-lauseen ehtoa. Hinta-arvojen kirjat, 39 ja 35, jätetään pois tulosjoukosta, koska ne ovat alueen ulkopuolella.
Lue taulukko taulukon lajittelun jälkeen
ORDER BY -lausetta käytetään lajittelemaan SELECT-käskyn tulosjoukko nousevaan tai laskevaan järjestykseen. Tulosjoukko lajitellaan oletusarvoisesti nousevaan järjestykseen, jos ORDER BY -lausetta käytetään ilman ASC- tai DESC-lausetta. Seuraava SELECT-käsky lukee lajitellut tietueet kirjataulukosta otsikkokentän perusteella:
VALITSE * FROM kirjat TILAUS BY otsikko;Kirjat-taulukon otsikkokentän tiedot lajitellaan lähdössä nousevaan järjestykseen. 'Learning SQL' -kirja tulee ensin aakkosjärjestyksessä, jos 'books' -taulukon otsikkokenttä on järjestetty nousevaan järjestykseen.
Lue taulukko asettamalla sarakkeen vaihtoehtoinen nimi
Sarakkeen vaihtoehtoista nimeä käytetään kyselyssä tulosjoukon luettavuuden parantamiseksi. Vaihtoehtoinen nimi asetetaan 'AS'-avainsanalla. Seuraava SQL-käsky palauttaa otsikko- ja tekijä-kenttien arvot asettamalla vaihtoehtoiset nimet.
VALITSE otsikko KUTEN 'Kirjan nimi'. , kirjoittaja KUTEN 'Tekijän nimi'.FROM kirjat;
Otsikkokenttä näytetään vaihtoehtoisella nimellä, joka on 'Kirjan nimi', ja tekijäkenttä näytetään vaihtoehtoisella nimellä, joka on 'Tekijän nimi'.
Laske taulukon rivien kokonaismäärä
COUNT() on SQL:n aggregaattifunktio, jota käytetään rivien kokonaismäärän laskemiseen tietyn kentän tai kaikkien kenttien perusteella. '*'-symbolia käytetään merkitsemään kaikkia kenttiä ja COUNT(*) -symbolia käytetään laskemaan kaikki taulukon tietueet.
Seuraava kysely laskee kirjataulukon tietueet yhteensä:
VALITSE KREIVI ( * ) KUTEN 'Kirjoja yhteensä'. FROM kirjat;Tulosteessa näkyy neljä 'kirjat' -taulukon tietuetta:
Seuraava kysely laskee 'jäsenet'-taulukon rivit yhteensä 'id'-kentän perusteella:
VALITSE KREIVI ( id ) KUTEN 'Jäsenet yhteensä'. FROM jäsenet;'Jäsenet'-taulukossa on kaksi id-arvoa, jotka tulostetaan:
Lue tiedot useista taulukoista
Aiemmat SELECT-käskyt hakivat tiedot yhdestä taulukosta. Mutta SELECT-käskyä voidaan käyttää tietojen hakemiseen kahdesta tai useammasta taulukosta. Seuraava SELECT-kysely lukee otsikko- ja tekijäkenttien arvot “books”-taulukosta ja lainauspäivämäärän “book_laina_info”-taulukosta.
VALITSE otsikko , kirjoittaja , lainauspäivämääräFROM kirjat , kirja_lainaustiedot
MISSÄ kirjat . id = kirja_lainaustiedot . book_id;
Seuraava tulos osoittaa, että 'SQL in 10 Minutes' -kirja lainataan kaksi kertaa ja 'SQL Cookbook (O'Reilly)' -kirja lainataan kerran:
Tiedot voidaan hakea useista taulukoista käyttämällä erilaisia JOINS-tyyppejä, kuten INNER JOIN, OUTER JOIN jne. joita ei selitetä tässä opetusohjelmassa.
Lue taulukko ryhmittelemällä tietyt kentät
GROUP BY -lausetta käytetään tietueiden lukemiseen taulukosta ryhmittelemällä rivit yhden tai useamman kentän perusteella. Tällaista kyselyä kutsutaan yhteenvetokyselyksi. Sinun on lisättävä useita rivejä taulukoihin tarkistaaksesi GROUP BY -lauseen käytön. Suorita seuraavat INSERT-käskyt lisätäksesi yhden tietueen 'jäsentaulukkoon' ja kaksi tietuetta 'book_borrow_info' -taulukkoon.
LISÄÄ INTO jäsenetASETA nimi = 'Hän Hasan' , osoite = '11/A, Jigatola, Dhaka' , yhteystieto_nro = '+8801734563423' , sähköposti = 'she@gmail.com' ;
LISÄÄ INTO kirja_lainaustiedot ( id , lainauspäivämäärä , book_id , jäsentunnus , palautuspäivä , TILA )
ARVOT ( 2 , '2023-04-10' , 1 , 1 , '2023-04-15' , 'palannut' ) ;
LISÄÄ INTO kirja_lainaustiedot ( id , lainauspäivämäärä , book_id , jäsentunnus , palautuspäivä , TILA )
ARVOT ( 3 , '2023-05-20' , 2 , 1 , '2023-05-30' , 'lainattu' ) ;
Kun olet lisännyt tiedot suorittamalla aiemmat kyselyt, suorita seuraava SELECT-käsky, joka laskee lainattujen kirjojen kokonaismäärän ja jäsenen nimen kunkin jäsenen perusteella käyttämällä GROUP BY -lausetta. Tässä COUNT()-funktio toimii kentässä, jota käytetään tietueiden ryhmittelyyn GROUP BY -lauseen avulla. 'Jäsenet'-taulukon book_id -kenttää käytetään ryhmittelyyn täällä.
VALITSE KREIVI ( book_id ) KUTEN 'Lainattu kirja yhteensä'. , nimi KUTEN 'Jäsennimi'. FROM kirjat , jäsenet , kirja_lainaustiedot MISSÄ kirjat . id = kirja_lainaustiedot . book_id JA jäsenet . id = kirja_lainaustiedot . jäsentunnus RYHMÄ BY kirja_lainaustiedot . jäsentunnus;Kirjojen, 'jäsenet' ja 'kirja_lainaus_info' -taulukoiden tietojen mukaan 'John Sina' lainasi 2 kirjaa ja 'Ella Hasan' 1 kirjan.
Lue taulukko kaksoisarvojen jättämisen jälkeen
Joskus SELECT-käskyn tulosjoukossa luodaan päällekkäisiä tietoja tarpeettomien taulukkotietojen perusteella. Esimerkiksi seuraava SELECT-käsky palauttaa 'book_lainaus_info'-taulukon tietueiden kaksoiskappaleet.
VALITSE nimi , sähköpostiFROM jäsenet , kirja_lainaustiedot
MISSÄ kirja_lainaustiedot . jäsentunnus = jäsenet . id;
Tulosteessa sama tietue esiintyy kahdesti, koska ”John Sina” -jäsen lainasi kaksi kirjaa. Tämä ongelma voidaan ratkaista käyttämällä DISTINCT-avainsanaa. Se poistaa tietueiden kaksoiskappaleet kyselyn tuloksesta.
Seuraava SELECT-käsky luo yksilölliset tietueet tulosjoukosta 'members'- ja 'book_borrow_info'-taulukoista sen jälkeen, kun kaksoisarvot on jätetty pois käyttämällä DISTINCT-avainsanaa kyselyssä.
VALITSE ERITTÄVÄ nimi , sähköpostiFROM jäsenet , kirja_lainaustiedot
MISSÄ kirja_lainaustiedot . jäsentunnus = jäsenet . id;
Tulos näyttää, että kaksoisarvo on poistettu tulosjoukosta:
Lue taulukko rajoittamalla rivin numeroa
Joskus se vaatii tietyn tietueiden määrän lukemisen tietokantataulukosta tulosjoukon alusta, tulosjoukon lopusta tai tulosjoukon keskeltä rajoittamalla rivinumeroa. Se voidaan tehdä monella tapaa. Ennen rivien rajoittamista, suorita seuraava SQL-käsky tarkistaaksesi, kuinka monta tietuetta kirjataulukossa on:
VALITSE * FROM kirjat;Tulos osoittaa, että kirjataulukossa on neljä tietuetta:
Seuraava SELECT-käsky lukee kaksi ensimmäistä tietuetta 'books'-taulukosta käyttämällä LIMIT-lausetta, jonka arvo on 2:
VALITSE * FROM kirjat RAJA 2 ;Kirjat-taulukon kaksi ensimmäistä tietuetta haetaan, joka näkyy tulosteessa:
FETCH-lause on LIMIT-lauseen vaihtoehto, ja sen käyttö on esitetty seuraavassa SELECT-lauseessa. Kirjat-taulukon kolme ensimmäistä tietuetta haetaan käyttämällä FETCH FIRST 3 ROWS ONLY -lausetta SELECT-käskyssä:
VALITSE * FROM kirjat FETCH ENSIMMÄINEN 3 RIVIT VAIN ;Tulos näyttää kirjat-taulukon kolme ensimmäistä tietuetta:
Kaksi levyä 3 rd kirjat-taulukon rivit noudetaan suorittamalla seuraava SELECT-käsky. LIMIT-lausetta käytetään tässä arvon 2, 2 kanssa, jossa ensimmäinen 2 määrittää sen taulukon rivin aloituspaikan, joka alkaa laskea 0:sta ja toinen 2 määrittää rivien määrän, joka alkaa laskea aloituspaikasta.
VALITSE * FROM kirjat RAJA 2 , 2 ;Seuraava tulos tulee näkyviin edellisen kyselyn suorittamisen jälkeen:
Taulukon lopun tietueet voidaan lukea lajittelemalla taulukko laskevaan järjestykseen automaattisesti lisääntyvän ensisijaisen avaimen arvon perusteella ja käyttämällä LIMIT-lausetta. Suorita seuraava SELECT-käsky, joka lukee kaksi viimeistä tietuetta “books”-taulukosta. Tässä tulosjoukko lajitellaan laskevaan järjestykseen 'id'-kentän perusteella.
VALITSE * FROM kirjat TILAUS BY id DESC RAJA 2 ;Kirjataulukon kaksi viimeistä tietuetta näytetään seuraavassa tulosteessa:
Lue taulukko osittaisen vastaavuuden perusteella
LIKE-lausetta käytetään '%'-symbolin kanssa tietueiden hakemiseen taulukosta osittaisella täsmäyttämisellä. Seuraava SELECT-käsky etsii tietueita 'books'-taulukosta, jossa tekijäkenttä sisältää 'John' arvon alussa LIKE-lauseen avulla. Tässä '%' -symbolia käytetään hakumerkkijonon lopussa.
VALITSE * FROM kirjat MISSÄ kirjoittaja KUTEN 'John%' ;Kirjat-taulukossa on vain yksi tietue, joka sisältää 'John'-merkkijonon tekijäkentän arvon alussa.
Seuraava SELECT-käsky etsii tietueita 'books'-taulukosta, jossa julkaisukentässä on 'Ltd' arvon lopussa LIKE-lauseen avulla. Tässä '%' -symbolia käytetään hakumerkkijonon alussa:
VALITSE * FROM kirjat MISSÄ julkaisu KUTEN '%Oy' ;Kirjat-taulukossa on vain yksi tietue, joka sisältää 'Ltd'-merkkijonon julkaisukentän lopussa.
Seuraava SELECT-käsky etsii tietueita 'books'-taulukosta, jossa otsikkokenttä sisältää 'Querys' missä tahansa arvossa LIKE-lauseen avulla. Tässä '%' -symbolia käytetään hakumerkkijonon molemmilla puolilla:
VALITSE * FROM kirjat MISSÄ otsikko KUTEN '%Querys%' ;Kirjat-taulukossa on vain yksi tietue, joka sisältää 'Kyselyt'-merkkijonon otsikkokentässä.
Laske taulukon tietyn kentän summa
SUM() on toinen hyödyllinen SQL:n aggregaattifunktio, joka laskee minkä tahansa taulukon numeerisen kentän arvojen summan. Tämä funktio ottaa yhden argumentin, jonka on oltava numeerinen. Seuraava SQL-käsky laskee kokonaislukuarvoja sisältävän “books”-taulukon hintakentän kaikkien arvojen summan.
VALITSE SUMMA ( hinta ) KUTEN 'Kirjan kokonaishinta'.FROM kirjat;
Tulos näyttää 'kirjat'-taulukon hintakentän kaikkien arvojen summausarvon. Hintakentän neljä arvoa ovat 39, 49, 35 ja 45. Näiden arvojen summa on 168.
Etsi tietyn kentän enimmäis- ja vähimmäisarvot
Aggregaattifunktioita MIN() ja MAX() käytetään taulukon tietyn kentän minimi- ja maksimiarvojen selvittämiseen. Molemmat funktiot ottavat yhden argumentin, jonka on oltava numeerinen. Seuraava SQL-käsky selvittää vähimmäishinnan 'books'-taulukosta, joka on kokonaisluku.
VALITSE MIN ( hinta ) KUTEN 'Minimikustannuskirja'. FROM kirjat;Kolmekymmentäviisi (35) on hintakentän vähimmäisarvo, joka tulostetaan.
Seuraava SQL-käsky selvittää enimmäishinnan 'books'-taulukosta:
VALITSE MAX ( hinta ) KUTEN 'Maksimikustannuskirja'. FROM kirjat;Neljäkymmentäyhdeksän (49) on hintakentän enimmäisarvo, joka tulostetaan.
Lue tiedosta tai kentästä tietty osa
SUBSTR()-funktiota käytetään SQL-käskyssä merkkijonotietojen tietyn osan tai taulukon tietyn kentän arvon hakemiseen. Tämä funktio sisältää kolme argumenttia. Ensimmäinen argumentti sisältää merkkijonon arvon tai kentän arvon taulukosta, joka on merkkijono. Toinen argumentti sisältää ensimmäisestä argumentista haetun alimerkkijonon aloituspaikan ja tämän arvon laskenta alkaa 1:stä. Kolmas argumentti sisältää sen alimerkkijonon pituuden, joka alkaa laskea aloituskohdasta.
Seuraava SELECT-käsky leikkaa ja tulostaa viisi ensimmäistä merkkiä 'Learn SQL Basics' -merkkijonosta, jonka aloituskohta on 1 ja pituus 5:
VALITSE SUBSTR ( 'Opi SQL:n perusteet' , 1 , 5 ) KUTEN 'Alimerkkijonoarvo'. ;'Learn SQL Basics' -merkkijonon viisi ensimmäistä merkkiä on 'Learn', joka tulostetaan tulosteeseen.
Seuraava SELECT-käsky leikkaa ja tulostaa SQL:n 'Learn SQL Basics' -merkkijonosta, jossa aloituskohta on 7 ja pituus 3:
VALITSE SUBSTR ( 'Opi SQL:n perusteet' , 7 , 3 ) KUTEN 'Alimerkkijonoarvo'. ;Seuraava tulos tulee näkyviin edellisen kyselyn suorittamisen jälkeen:
Seuraava SELECT-käsky leikkaa ja tulostaa 'jäsenet'-taulukon nimikentän viisi ensimmäistä merkkiä:
VALITSE SUBSTR ( nimi , 1 , 5 ) KUTEN 'Jäsennimi'. FROM jäsenet;Tulos näyttää 'jäsenet'-taulukon nimikentän kunkin arvon viisi ensimmäistä merkkiä.
Lue taulukon tiedot ketjutuksen jälkeen
CONCAT()-funktiota käytetään tuottamaan tulos yhdistämällä yksi tai useampi taulukon kenttää tai lisäämällä merkkijonotiedot tai taulukon tietty kenttäarvo. Seuraava SQL-käsky lukee 'books'-taulukon otsikko-, tekijä- ja hintakenttien arvot, ja '$'-merkkijonoarvo lisätään kunkin hintakentän arvon kanssa CONCAT()-funktion avulla.
VALITSE otsikko KUTEN Otsikko , kirjoittaja KUTEN Tekijä , CONCAT ( '$' , hinta ) KUTEN HintaFROM kirjat;
Hintakentän arvot tulostetaan tulosteessa ketjuttamalla '$'-merkkijono.
Suorita seuraava SQL-käsky yhdistääksesi 'books'-taulukon otsikko- ja tekijäkenttien arvot 'by'-merkkijonoarvoon CONCAT()-funktion avulla:
VALITSE CONCAT ( otsikko , ' tekijältä' , kirjoittaja ) KUTEN 'Kirjan nimi ja tekijä'.FROM kirjat;
Seuraava tulos tulee näkyviin edellisen SELECT-kyselyn suorittamisen jälkeen:
Lue taulukon tiedot matemaattisen laskennan jälkeen
Mikä tahansa matemaattinen laskutoimitus voidaan suorittaa taulukon arvojen haun yhteydessä SELECT-käskyn avulla. Suorita seuraava SQL-lause lukeaksesi tunnuksen, otsikon, hinnan ja alennushinnan arvon laskettuasi 5 %:n alennuksen.
VALITSE id , otsikko , hinta KUTEN 'Normaalihinta'. , hinta - ( hinta * 5 / 100 ) KUTEN 'Alennushinta'.FROM kirjat;
Seuraavassa tulosteessa näkyy kunkin kirjan normaalihinta ja alennushinta:
Luo näkymä taulukosta
VIEW-toimintoa käytetään kyselyn tekemiseen yksinkertaiseksi ja se tarjoaa lisäsuojaa tietokannalle. Se toimii kuin virtuaalinen taulukko, joka luodaan yhdestä tai useammasta taulukosta. Menetelmä yksinkertaisen NÄKYMÄN luomiseksi ja suorittamiseksi 'jäsenten' taulukon perusteella on esitetty seuraavassa esimerkissä. VIEW suoritetaan SELECT-käskyllä. Seuraava SQL-käsky luo NÄKYMÄN 'jäsenet'-taulukosta, jossa on id-, name-, address- ja contact_no-kentät. SELECT-käsky suorittaa jäsennäkymän.
LUODA NÄKYMÄ jäsen_näkymä KUTENVALITSE id , nimi , osoite , yhteystieto_nro
FROM jäsenet;
VALITSE * FROM jäsen_näkymä;
Seuraava tulos tulee näkyviin näkymän luomisen ja suorittamisen jälkeen:
Päivitä taulukko erityistilanteen perusteella
UPDATE-käskyä käytetään taulukon sisällön päivittämiseen. Jos jokin UPDATE-kysely suoritetaan ilman WHERE-lausetta, kaikki UPDATE-kyselyssä käytetyt kentät päivitetään. Joten on tarpeen käyttää UPDATE-lausetta oikean WHERE-lauseen kanssa. Suorita seuraava UPDATE-käsky päivittääksesi nimi- ja contact_no-kentät, joissa id-kentän arvo on 1. Suorita seuraavaksi SELECT-käsky tarkistaaksesi, onko tiedot päivitetty oikein vai eivät.
PÄIVITTÄÄ jäsenetASETA nimi = 'Janifer' , yhteystieto_nro = '+880175621223'
MISSÄ id = 1 ;
VALITSE * FROM jäsenet;
Seuraava tulos osoittaa, että UPDATE-käsky on suoritettu onnistuneesti. Nimikentän arvoksi muutetaan 'Janifer' ja contact_no-kenttään '+880175621223' tietueessa, joka sisältää id-arvon 1 UPDATE-kyselyn avulla:
Poista taulukon tiedot tietyn ehdon perusteella
DELETE-käskyä käytetään taulukon tietyn sisällön tai koko sisällön poistamiseen. Jos jokin DELETE-kysely suoritetaan ilman WHERE-lausetta, kaikki kentät poistetaan. Joten on välttämätöntä käyttää UPDATE-käskyä oikean WHERE-lauseen kanssa. Suorita seuraava DELETE-käsky poistaaksesi kaikki tiedot kirjataulukosta, jossa id-arvo on 4. Suorita seuraavaksi SELECT-käsky tarkistaaksesi, onko tiedot poistettu oikein vai ei.
POISTAA FROM kirjat MISSÄ id = 4 ;VALITSE * FROM kirjat;
Seuraava tulos osoittaa, että DELETE-käsky on suoritettu onnistuneesti. 4 th kirjataulukon tietue poistetaan DELETE-kyselyllä:
Poista kaikki tietueet taulukosta
Suorita seuraava DELETE-käsky poistaaksesi kaikki tietueet 'books'-taulukosta, jossa WHERE-lause on jätetty pois. Suorita seuraavaksi SELECT-kysely tarkistaaksesi taulukon sisällön.
POISTAA FROM kirja_lainaustiedot;VALITSE * FROM kirja_lainaustiedot;
Seuraava tulos osoittaa, että 'books' -taulukko on tyhjä DELETE-kyselyn suorittamisen jälkeen:
Jos jokin taulukko sisältää automaattisen lisäyksen määritteen ja kaikki tietueet poistetaan taulukosta, automaattinen lisäys -kenttä alkaa laskea viimeisestä lisäyksestä, kun uusi tietue lisätään taulukon tyhjentämisen jälkeen. Tämä ongelma voidaan ratkaista käyttämällä TRUNCATE-käskyä. Sitä käytetään myös kaikkien tietueiden poistamiseen taulukosta, mutta automaattinen lisäyskenttä alkaa laskea 1:stä sen jälkeen, kun kaikki tietueet on poistettu taulukosta. TRUNCATE-käskyn SQL näkyy seuraavassa:
KATKAISTA kirja_lainaustiedot;Pudota pöytä
Yksi tai useampi taulukko voidaan hylätä tarkistamalla tai tarkistamatta, onko taulukko olemassa vai ei. Seuraavat DROP-käskyt poistavat 'book_borrow_info' -taulukon ja 'SHOW tables' -käsky tarkistaa, onko taulukko olemassa vai ei palvelimella.
PUDOTA PÖYTÄ kirja_lainaustiedot;NÄYTÄ TAULUKOT ;
Tulos näyttää, että 'book_borrow_info' -taulukko on pudonnut.
Taulukko voidaan hylätä, kun on tarkastettu, onko se palvelimella vai ei. Suorita seuraava DROP-käsky poistaaksesi kirjat ja jäsenet -taulukot, jos nämä taulukot ovat olemassa palvelimessa. Seuraavaksi 'SHOW tables' -käsky tarkistaa, ovatko taulukot palvelimella vai eivät.
PUDOTA PÖYTÄ JOS OLEMASSA kirjat , jäsenet;NÄYTÄ TAULUKOT ;
Seuraava tulos osoittaa, että taulukot on poistettu palvelimelta:
Pudota tietokanta
Suorita seuraava SQL-käsky poistaaksesi 'kirjasto'-tietokannan palvelimelta:
PUDOTA TIETOKANTA kirjasto;Tulos osoittaa, että tietokanta on pudonnut.
Johtopäätös
Yleisimmin käytetyt SQL-kyselyesimerkit MariaDB-palvelimen tietokannan luomiseen, käyttämiseen, muokkaamiseen ja poistamiseen on esitetty tässä opetusohjelmassa luomalla tietokanta ja kolme taulukkoa. Erilaisten SQL-käskyjen käyttö selitetään hyvin yksinkertaisilla esimerkeillä, jotta uusi tietokannan käyttäjä oppii SQL:n perusteet kunnolla. Monimutkaisten kyselyiden käyttö on jätetty tässä pois. Uudet tietokannan käyttäjät voivat aloittaa työskentelyn minkä tahansa tietokannan kanssa luettuaan tämän opetusohjelman kunnolla.