30 esimerkkiä SQL-kyselystä

30 Esimerkkia Sql Kyselysta



SQL:n täysi muoto on Structured Query -kieli. Se on erittäin hyödyllinen työkalu tietokannan rakenteen ja tietojen käyttämiseen tai muokkaamiseen. Monet sovellukset tarvitsevat tietokannan tallentaakseen tarvittavat tiedot tietokantaan strukturoidussa muodossa pysyvästi. MySQL, Oracle, SQL Server jne. ovat suosittuja tietokantoja sovelluksen tietojen tallentamiseen. Ne ovat välttämättömiä SQL:n perusteiden oppimisessa tietokannan sisällön käyttämiseksi tai muokkaamiseksi. MariaDB-tietokannan SQL-käskyjen peruskäytöt esitetään tässä opetusohjelmassa 30 SQL-kyselyesimerkin avulla.

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 -p

Luettelo SQL-kyselyesimerkeistä



  1. Luo tietokanta
  2. Luo taulukot
  3. Nimeä taulukon nimi uudelleen
  4. Lisää uusi sarake taulukkoon
  5. Poista sarake taulukosta
  6. Lisää yksi rivi taulukkoon
  7. Lisää useita rivejä taulukkoon
  8. Lue kaikki tietyt kentät taulukosta
  9. Lue taulukko taulukon tietojen suodattamisen jälkeen
  10. Lue taulukko sen jälkeen, kun olet suodattanut tiedot Boolen logiikkaan
  11. Lue taulukko sen jälkeen, kun olet suodattanut rivit tietoalueen perusteella
  12. Lue taulukko lajiteltuasi taulukon tiettyjen sarakkeiden perusteella.
  13. Lue taulukko asettamalla sarakkeen vaihtoehtoinen nimi
  14. Laske taulukon rivien kokonaismäärä
  15. Lue tiedot useista taulukoista
  16. Lue taulukko ryhmittelemällä tietyt kentät
  17. Lue taulukko kaksoisarvojen jättämisen jälkeen
  18. Lue taulukko rajoittamalla rivin numeroa
  19. Lue taulukko osittaisen vastaavuuden perusteella
  20. Laske taulukon tietyn kentän summa
  21. Etsi tietyn kentän enimmäis- ja vähimmäisarvot
  22. Lue tiedot kentän tietystä osasta
  23. Lue taulukon tiedot ketjutuksen jälkeen
  24. Lue taulukon tiedot matemaattisen laskennan jälkeen
  25. Luo näkymä taulukosta
  26. Päivitä taulukko erityistilanteen perusteella
  27. Poista taulukon tiedot tietyn ehdon perusteella
  28. Poista kaikki tietueet taulukosta
  29. Pudota pöytä
  30. 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.

  1. Kirjataulukko tallentaa kaikki kirjaan liittyvät tiedot.
  2. Jäsentaulukko tallentaa kaikki tiedot jäsenistä, jotka lainaavat kirjan kirjastosta.
  3. 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äsenet
ASETA 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äsenet
ASETA 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öposti
FROM 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öposti
FROM 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 Hinta
FROM 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ä KUTEN
VALITSE 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äsenet
ASETA 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.