30 SQL vaicājumu piemēri

30 Sql Vaicajumu Piemeri



Pilna SQL forma ir strukturētā vaicājuma valoda. Tas ir ļoti noderīgs rīks, lai piekļūtu datu bāzes struktūrai un datiem vai mainītu tos. Daudzām lietojumprogrammām ir nepieciešama datu bāze, lai pastāvīgi saglabātu nepieciešamos datus datubāzē strukturētā formātā. MySQL, Oracle, SQL Server u.c. ir populāras datu bāzes lietojumprogrammas datu glabāšanai. Tie ir būtiski, lai apgūtu SQL pamatus, lai piekļūtu datu bāzes saturam vai mainītu to. SQL priekšrakstu pamata lietojumi MariaDB datubāzē ir parādīti šajā apmācībā, izmantojot 30 SQL vaicājumu piemērus.

Priekšnoteikumi

Pirms praktizēt šīs apmācības piemērus, kopā ar klientu ir jāinstalē datu bāzes serveris. Šajā apmācībā tiek izmantots MariaDB datu bāzes serveris un klients.

1. Palaidiet šādas komandas, lai atjauninātu sistēmu:







$ sudo apt-get atjauninājumu

2. Palaidiet šo komandu, lai instalētu MariaDB serveri un klientu:



$ sudo apt-get instalējiet mariadb-server mariadb-client

3. Palaidiet šo komandu, lai instalētu MariaDB datu bāzes drošības skriptu:



$ sudo mysql_secure_installation

4. Palaidiet šo komandu, lai restartētu MariaDB serveri:





$ sudo /etc/init.d/mariadb restart

6. Palaidiet šo komandu, lai pieteiktos MariaDB serverī:

$ sudo mariadb -u sakne -p

SQL vaicājumu piemēru saraksts



  1. Izveidojiet datu bāzi
  2. Izveidojiet tabulas
  3. Pārdēvējiet tabulas nosaukumu
  4. Pievienojiet tabulai jaunu kolonnu
  5. Noņemiet kolonnu no tabulas
  6. Ievietojiet tabulā vienu rindu
  7. Ievietojiet tabulā vairākas rindas
  8. Izlasiet visus tabulas konkrētos laukus
  9. Izlasiet tabulu pēc datu filtrēšanas no tabulas
  10. Izlasiet tabulu pēc datu filtrēšanas, pamatojoties uz Būla loģiku
  11. Izlasiet tabulu pēc rindu filtrēšanas, pamatojoties uz datu diapazonu
  12. Izlasiet tabulu pēc tabulas šķirošanas, pamatojoties uz konkrētajām kolonnām.
  13. Izlasiet tabulu, iestatot alternatīvo kolonnas nosaukumu
  14. Saskaitiet kopējo rindu skaitu tabulā
  15. Lasiet datus no vairākām tabulām
  16. Izlasiet tabulu, grupējot konkrētos laukus
  17. Izlasiet tabulu pēc dublēto vērtību izlaišanas
  18. Izlasiet tabulu, ierobežojot rindas numuru
  19. Izlasiet tabulu, pamatojoties uz daļēju atbilstību
  20. Saskaitiet tabulas konkrētā lauka summu
  21. Atrodiet konkrētā lauka maksimālo un minimālo vērtību
  22. Izlasiet datus par konkrēto lauka daļu
  23. Izlasiet tabulas datus pēc savienošanas
  24. Pēc matemātiskā aprēķina izlasiet tabulas datus
  25. Izveidojiet tabulas skatu
  26. Atjauniniet tabulu, pamatojoties uz konkrēto nosacījumu
  27. Dzēsiet tabulas datus, pamatojoties uz konkrēto nosacījumu
  28. Izdzēsiet visus ierakstus no tabulas
  29. Nometiet tabulu
  30. Atmetiet datu bāzi

Izveidojiet datu bāzi

Pieņemsim, ka mums ir jāizstrādā vienkārša datu bāze bibliotēku pārvaldības sistēmai. Lai veiktu šo uzdevumu, serverī ir jāizveido datu bāze, kas satur vairākas relāciju tabulas. Pēc pieteikšanās datu bāzes serverī palaidiet šo komandu, lai MariaDB datu bāzes serverī izveidotu datu bāzi ar nosaukumu “bibliotēka”.

IZVEIDOT DATU BĀZE bibliotēka;

Izvade parāda, ka bibliotēkas datu bāze ir izveidota serverī:

Palaidiet šo komandu, lai atlasītu datu bāzi no servera, lai veiktu dažāda veida datu bāzes darbības:

IZMANTOT bibliotēka;

Izvade parāda, ka ir atlasīta bibliotēkas datu bāze:

Izveidojiet tabulas

Nākamais solis ir izveidot nepieciešamās tabulas datu bāzei datu glabāšanai. Šajā apmācības daļā ir izveidotas trīs tabulas. Tās ir grāmatas, dalībnieki un aizņemšanās_informācijas tabulas.

  1. Grāmatu tabulā tiek glabāti visi ar grāmatām saistītie dati.
  2. Dalībnieku tabulā tiek glabāta visa informācija par dalībniekiem, kuri grāmatu aizņemas no bibliotēkas.
  3. Tabulā aizņemties_informācija tiek saglabāta informācija par to, kuru grāmatu kurš dalībnieks ir aizņēmis.

1. Grāmatas Tabula

Palaidiet šo SQL priekšrakstu, lai izveidotu tabulu ar nosaukumu 'grāmatas' datu bāzē 'bibliotēka', kurā ir septiņi lauki un viena primārā atslēga. Šeit lauks “id” ir primārā atslēga, un datu tips ir int. Atribūts auto_increment tiek izmantots laukam “id”. Tātad šī lauka vērtība tiek automātiski palielināta, kad tiek ievietota jauna rinda. Varchar datu tips tiek izmantots, lai saglabātu mainīga garuma virknes datus. Virknes dati tiek glabāti laukā Virsraksts, autors, publikācija un isbn. Lauku total_copy un price datu tips ir int. Tātad šajos laukos tiek glabāti skaitliskie dati.

IZVEIDOT TABULA grāmatas (
id INT AUTOMĀTISKS_INCREMENT ,
virsraksts VARCHAR ( piecdesmit ) ,
autors VARCHAR ( piecdesmit ) ,
publikācija VARCHAR ( 100 ) ,
isbn VARCHAR ( 30 ) ,
total_copy INT ,
cena INT ,
PRIMĀRS ATSLĒGA ( id ) ) ;

Izvade parāda, ka tabula “grāmatas” ir veiksmīgi izveidota:

2. Deputāti Tabula

Palaidiet šo SQL priekšrakstu, lai izveidotu tabulu ar nosaukumu 'biedri' datu bāzē 'bibliotēka', kurā ir 5 lauki un viena primārā atslēga. Laukā “id” ir atribūts auto_increment, piemēram, tabulai “books”. Pārējo lauku datu tips ir varchar. Tātad šajos laukos tiek glabāti virknes dati.

IZVEIDOT TABULA biedri (
id INT AUTOMĀTISKS_INCREMENT ,
nosaukums VARCHAR ( piecdesmit ) ,
adrese VARCHAR ( 200 ) ,
kontaktnr VARCHAR ( piecpadsmit ) ,
e-pasts VARCHAR ( piecdesmit ) ,
PRIMĀRS ATSLĒGA ( id ) ) ;

Izvade parāda, ka tabula “biedri” ir veiksmīgi izveidota:

3. Aizņemties_info Tabula

Palaidiet šo SQL priekšrakstu, lai izveidotu tabulu ar nosaukumu “borrow_info” datu bāzē “bibliotēka”, kurā ir 6 lauki. Šeit lauks “id” ir primārā atslēga, bet atribūts auto_increment šim laukam netiek izmantots. Tātad, kad tabulā tiek ievietots jauns ieraksts, šajā laukā tiek manuāli ievietota unikāla vērtība. Lauki book_id un member_id ir šīs tabulas ārējās atslēgas; tās ir tabulas “grāmatas” un tabulas “dalībnieki” primārā atslēga. Datu tips laukos aizņemšanās_datums un atgriešanas_datums ir datums. Tātad šajos divos laukos datuma vērtība tiek saglabāta formātā “GGGG-MM-DD”.

IZVEIDOT TABULA aizņemties_informācija (
id INT ,
aizņemšanās_datums DATUMS ,
grāmatas_id INT ,
dalībnieka_id INT ,
atgriešanas_datums DATUMS ,
STATUSS VARCHAR ( 10 ) ,
PRIMĀRS ATSLĒGA ( id ) ,
ĀRZEMES ATSLĒGA ( grāmatas_id ) ATSAUCES grāmatas ( id ) ,
ĀRZEMES ATSLĒGA ( dalībnieka_id ) ATSAUCES biedri ( id ) ) ;

Izvade parāda, ka tabula “borrow_info” ir veiksmīgi izveidota:

Pārdēvējiet tabulas nosaukumu

Paziņojumu ALTER TABLE SQL priekšrakstos var izmantot vairākiem mērķiem. Izpildiet šo ALTER TABLE priekšrakstu, lai mainītu tabulas “aizņemšanas_informācija” nosaukumu uz “book_borrow_info”. Tālāk, priekšrakstu SHOW tables var izmantot, lai pārbaudītu, vai tabulas nosaukums ir mainīts.

ALTER TABULA aizņemties_informācija PĀRDĒVĒT UZ grāmata_aizņemties_informācija;
RĀDĪT TABULAS ;

Izvade parāda, ka tabulas nosaukums ir veiksmīgi mainīts un tabulas borrow_info nosaukums ir mainīts uz book_borrow_info:

Pievienojiet tabulai jaunu kolonnu

Paziņojumu ALTER TABLE var izmantot, lai pēc tabulas izveides pievienotu vai dzēstu vienu vai vairākas kolonnas. Šis ALTER TABLE priekšraksts tabulas dalībniekiem pievieno jaunu lauku ar nosaukumu “statuss”. Paziņojums DESCRIBE tiek izmantots, lai parādītu, vai tabulas struktūra ir mainīta vai nav.

ALTER TABULA biedri PIEVIENOT STATUSS VARCHAR ( 10 ) ;
APRAKSTS biedri;

Izvade parāda, ka tabulai “biedri” tiek pievienota jauna kolonna ar statusu “statuss”, un tabulas datu tips ir varchar:

Noņemiet kolonnu no tabulas

Šis ALTER TABLE priekšraksts izdzēš lauku ar nosaukumu 'statuss' no tabulas 'biedri'. Paziņojums DESCRIBE tiek izmantots, lai parādītu, vai tabulas struktūra ir mainīta vai nav.

ALTER TABULA biedri NOLIETOT KOLONNA STATUSS ;
APRAKSTS biedri;

Izvade parāda, ka kolonna “statuss” ir noņemta no tabulas “biedri”.

Ievietojiet tabulā vienu rindu

Paziņojums INSERT INTO tiek izmantots, lai tabulā ievietotu vienu vai vairākas rindas. Palaidiet šo SQL priekšrakstu, lai tabulā “grāmatas” ievietotu vienu rindu. Šeit lauks “id” šajā vaicājumā tiek izlaists, jo tas tiek automātiski ievietots ierakstā, kad tiek ievietots jauns ieraksts automātiskās palielināšanas atribūtam. Ja šis lauks tiek izmantots priekšrakstā INSERT, vērtībai ir jābūt NULL.

IEVIETOT INTO grāmatas ( virsraksts , autors , publikācija , isbn , total_copy , cena )
VĒRTĪBAS ( 'SQL 10 minūtēs' , 'Bens Forta' , 'Sams Publishing' , '784534235' , 5 , 39 ) ;

Izvade parāda, ka ieraksts ir veiksmīgi pievienots tabulai “grāmatas”:

Datus var ievietot tabulā, izmantojot SET klauzulu, kur katra lauka vērtība tiek piešķirta atsevišķi. Palaidiet šo SQL priekšrakstu, lai ievietotu vienu rindu tabulā “dalībnieki”, izmantojot klauzulas INSERT INTO un SET. Šajā vaicājumā tāpat kā iepriekšējā piemērā tā paša iemesla dēļ tiek izlaists lauks “id”.

IEVIETOT INTO biedri
IESTATĪT nosaukums = 'Džons Sina' , adrese = '34, Dhanmondi 9/A, Daka' , kontaktnr = '+14844731336' , e-pasts = 'john@gmail.com' ;

Izvade parāda, ka ieraksts ir veiksmīgi pievienots dalībnieku tabulai:

Palaidiet šo SQL priekšrakstu, lai tabulā “book_borrow_info” ievietotu vienu rindu:

IEVIETOT INTO grāmatu_aizņemšanās_informācija ( id , aizņemšanās_datums , grāmatas_id , dalībnieka_id , atgriešanas_datums , STATUSS )
VĒRTĪBAS ( 1 , “2023-03-12” , 1 , 1 , “2023-03-19” , 'aizņēmies' ) ;

Izvade parāda, ka ieraksts ir pievienots tabulai “book_borrow_info”:

Ievietojiet tabulā vairākas rindas

Dažreiz ir nepieciešams pievienot vairākus ierakstus vienlaikus, izmantojot vienu INSERT INTO priekšrakstu. Palaidiet šo SQL priekšrakstu, lai ievietotu trīs ierakstus tabulā “grāmatas”, izmantojot vienu INSERT INTO priekšrakstu. Šajā gadījumā klauzulu VALUES izmanto vienu reizi un katra ieraksta datus atdala ar komatu.

IEVIETOT INTO grāmatas ( virsraksts , autors , publikācija , isbn , total_copy , cena )
VĒRTĪBAS
( 'SQL pavārgrāmata (O'Reilly)' , 'Entonijs Molinaro' , 'O'Reilijs' , '2467777532' , 10 , 49 ) ,
( 'SQL vaicājumi vienkāršiem mirstīgajiem' , 'Jānis Viescas' , 'Edisone-Veslijs' , '673456234' , piecpadsmit , 35 ) ,
( 'SQL mācīšanās' , 'Alans Boljē' , 'Penguin Books Ltd' , '534433222' , 12 , Četri, pieci ) ;

Izvade parāda, ka tabulai “grāmatas” ir pievienoti trīs ieraksti:

Izlasiet visus tabulas konkrētos laukus

SELECT tiek izmantots, lai nolasītu datus no tabulas “datubāze”. Simbols “*” tiek izmantots, lai apzīmētu visus tabulas laukus priekšrakstā SELECT. Palaidiet šo SQL komandu, lai lasītu visus grāmatu tabulas ierakstus:

ATLASĪT * NO grāmatas;

Izvade parāda visus ierakstus grāmatu tabulā, kurā ir 4 ieraksti:

Palaidiet šo SQL komandu, lai lasītu visus ierakstus trīs tabulas “dalībnieki” laukos:

ATLASĪT nosaukums , e-pasts , kontaktnr NO biedri;

Izvadē tiek parādīti visi ieraksti trīs tabulas “dalībnieki” laukos:

Izlasiet tabulu pēc datu filtrēšanas no tabulas

Klauzula WHERE tiek izmantota, lai nolasītu datus no tabulas, pamatojoties uz vienu vai vairākiem nosacījumiem. Izpildiet šo SELECT priekšrakstu, lai izlasītu visus ierakstus visos tabulas “grāmatas” laukos, kur autora vārds ir “John Viescas”.

ATLASĪT * NO grāmatas KUR autors = 'Džons Viescas' ;

Tabulā “grāmatas” ir viens ieraksts, kas atbilst WHERE klauzulas nosacījumam, kas tiek parādīts izvadē:

Izlasiet tabulu pēc datu filtrēšanas, pamatojoties uz Būla loģiku

Būla UN loģika tiek izmantota, lai definētu vairākus nosacījumus klauzulā WHERE, kas atgriež patieso vērtību, ja visi nosacījumi atgriež patieso vērtību. Palaidiet šo SELECT priekšrakstu, lai nolasītu visus ierakstus visos tabulas “books” laukos, kur total_copy lauka vērtība ir lielāka par 10 un cenas lauka vērtība ir mazāka par 45, izmantojot loģisko UN.

ATLASĪT * NO grāmatas KUR total_copy > 10 UN cena < Četri, pieci ;

Grāmatu tabulā ir viens ieraksts, kas atbilst WHERE klauzulas nosacījumam, kas tiek parādīts izvadē:

Būla VAI loģika tiek izmantota, lai definētu vairākus nosacījumus klauzulā WHERE, kas atgriež patieso vērtību, ja kāds no nosacījumiem atgriež patiesu. Palaidiet šo SELECT priekšrakstu, lai nolasītu visus ierakstus visos tabulas “books” laukos, kur total_copy lauka vērtība ir lielāka par 10 vai cenas lauka vērtība ir lielāka par 40.

ATLASĪT * NO grāmatas KUR total_copy > 10 VAI cena > 40 ;

Grāmatu tabulā ir trīs ieraksti, kas atbilst WHERE klauzulas nosacījumam, kas tiek parādīts izvadē:

Būla NAV loģika tiek izmantota, lai atgrieztu kļūdas vērtību, ja nosacījums ir patiess, un atgriež patiesu, ja nosacījums ir nepatiess. Izpildiet šo SELECT priekšrakstu, lai lasītu visus ierakstus visos tabulas “grāmatas” laukos, kur autora lauka vērtība nav “Addison-Wesley”.

ATLASĪT * NO grāmatas KUR NAV autors = 'Edisona-Veslijs' ;

Tabulā “grāmatas” ir trīs ieraksti, kas atbilst WHERE klauzulas nosacījumam, kas tiek parādīts izvadē:

Izlasiet tabulu pēc rindu filtrēšanas, pamatojoties uz datu diapazonu

BETWEEN klauzulu izmanto, lai nolasītu datu diapazonu no datu bāzes tabulas. Palaidiet šo SELECT priekšrakstu, lai lasītu visus ierakstus visos tabulas “grāmatas” laukos, kur cenas lauka vērtība ir no 40 līdz 50.

ATLASĪT * NO grāmatas KUR cena STARP 40 UN piecdesmit ;

Grāmatu tabulā ir divi ieraksti, kas atbilst WHERE klauzulas nosacījumam, kas tiek parādīts izvadē. Cenu vērtību grāmatas 39 un 35 tiek izlaistas no rezultātu kopas, jo tās ir ārpus diapazona.

Izlasiet tabulu pēc tabulas šķirošanas

Klauzulu ORDER BY izmanto, lai kārtotu priekšraksta SELECT rezultātu kopu augošā vai dilstošā secībā. Rezultātu kopa pēc noklusējuma tiek kārtota augošā secībā, ja ORDER BY klauzula tiek izmantota bez ASC vai DESC. Šis SELECT priekšraksts nolasa sakārtotos ierakstus no grāmatu tabulas, pamatojoties uz nosaukuma lauku:

ATLASĪT * NO grāmatas PASŪTĪT BY tituls;

Tabulas “Grāmatas” nosaukuma lauka dati izvadā tiek sakārtoti augošā secībā. Grāmata “SQL apguve” ir pirmajā vietā alfabētiskā secībā, ja tabulas “grāmatas” nosaukuma lauks ir sakārtots augošā secībā.

Izlasiet tabulu, iestatot alternatīvo kolonnas nosaukumu

Vaicājumā tiek izmantots kolonnas alternatīvais nosaukums, lai padarītu rezultātu kopu lasāmāku. Alternatīvais nosaukums tiek iestatīts, izmantojot atslēgvārdu “AS”. Šis SQL priekšraksts atgriež nosaukuma un autora lauku vērtības, iestatot alternatīvos nosaukumus.

ATLASĪT virsraksts AS 'Grāmatas nosaukums'. , autors AS 'Autora vārds'.
NO grāmatas;

Virsraksta lauks tiek parādīts ar alternatīvo nosaukumu, kas ir “Grāmatas nosaukums”, un autora lauks tiek parādīts ar alternatīvo nosaukumu, kas ir “Autora vārds”.

Saskaitiet kopējo rindu skaitu tabulā

COUNT () ir SQL apkopota funkcija, ko izmanto, lai saskaitītu kopējo rindu skaitu, pamatojoties uz konkrēto lauku vai visiem laukiem. Simbols “*” tiek izmantots, lai apzīmētu visus laukus, un COUNT (*) tiek izmantots, lai uzskaitītu visus tabulas ierakstus.

Šis vaicājums uzskaita kopējos grāmatu tabulas ierakstus:

ATLASĪT SKAITĪT ( * ) AS 'Kopā grāmatu skaits'. NO grāmatas;

Izvadā tiek parādīti četri ieraksti tabulā “grāmatas”:

Šis vaicājums uzskaita tabulas “dalībnieki” kopējo rindu skaitu, pamatojoties uz lauku “id”.

ATLASĪT SKAITĪT ( id ) AS 'Kopā locekļu skaits'. NO biedri;

Tabulā “Dalībnieki” ir divas ID vērtības, kas tiek izdrukātas izvadē:

Lasiet datus no vairākām tabulām

Iepriekšējie SELECT priekšraksti izguva datus no vienas tabulas. Bet SELECT paziņojumu var izmantot, lai izgūtu datus no divām vai vairākām tabulām. Šis SELECT vaicājums nolasa nosaukuma un autora lauku vērtības no tabulas “books” un aizņemšanās datums no tabulas “book_borrow_info”.

ATLASĪT virsraksts , autors , aizņemšanās_datums
NO grāmatas , grāmatu_aizņemšanās_informācija
KUR grāmatas . id = grāmatu_aizņemšanās_informācija . grāmatas_id;

Sekojošais rezultāts parāda, ka grāmata “SQL 10 minūtēs” ir aizņemta divas reizes, bet grāmata “SQL pavārgrāmata (O’Reilijs)” ir aizņemta vienu reizi:

Datus var izgūt no vairākām tabulām, izmantojot dažādus PIEVIENOŠANĀS veidus, piemēram, IEKŠĒJĀ PIEVIENOŠANĀS, ĀRĒJĀ PIEVIENOŠANĀS utt., kas šajā apmācībā nav izskaidroti.

Izlasiet tabulu, grupējot konkrētos laukus

Klauzulu GROUP BY izmanto, lai nolasītu ierakstus no tabulas, grupējot rindas, pamatojoties uz vienu vai vairākiem laukiem. Šāda veida vaicājumu sauc par kopsavilkuma vaicājumu. Lai pārbaudītu klauzulas GROUP BY izmantošanu, tabulās ir jāievieto vairākas rindas. Izpildiet šādus INSERT priekšrakstus, lai ievietotu vienu ierakstu tabulā “biedri” un divus ierakstus tabulā “book_borrow_info”.

IEVIETOT INTO biedri
IESTATĪT nosaukums = 'Viņa Hasana' , adrese = “11/A, Džigatola, Daka” , kontaktnr = '+8801734563423' , e-pasts = 'viņa@gmail.com' ;
IEVIETOT INTO grāmatu_aizņemšanās_informācija ( id , aizņemšanās_datums , grāmatas_id , dalībnieka_id , atgriešanas_datums , STATUSS )
VĒRTĪBAS ( 2 , “2023-04-10” , 1 , 1 , “2023-04-15” , 'atgriezies' ) ;
IEVIETOT INTO grāmatu_aizņemšanās_informācija ( id , aizņemšanās_datums , grāmatas_id , dalībnieka_id , atgriešanas_datums , STATUSS )
VĒRTĪBAS ( 3 , “2023-05-20” , 2 , 1 , “2023-05-30” , 'aizņēmies' ) ;

Pēc datu ievietošanas, izpildot iepriekšējos vaicājumus, palaidiet šādu SELECT priekšrakstu, kas uzskaita kopējo aizņemto grāmatu skaitu un dalībnieka vārdu, pamatojoties uz katru dalībnieku, izmantojot klauzulu GROUP BY. Šeit funkcija COUNT() darbojas laukā, kas tiek izmantots, lai pārgrupētu ierakstus, izmantojot klauzulu GROUP BY. Grupēšanai šeit tiek izmantots tabulas “dalībnieki” lauks book_id.

ATLASĪT SKAITĪT ( grāmatas_id ) AS `Kopā aizņemtā grāmata` , nosaukums AS 'Biedra vārds'. NO grāmatas , biedri , grāmatu_aizņemšanās_informācija KUR grāmatas . id = grāmatu_aizņemšanās_informācija . grāmatas_id UN biedri . id = grāmatu_aizņemšanās_informācija . dalībnieka_id GRUPA BY grāmatu_aizņemšanās_informācija . dalībnieka_id;

Pēc grāmatu, “biedru” un “grāmatas_aizņemšanās_info” tabulu datiem “Džons Sina” aizņēmās 2 grāmatas, bet “Ella Hasana” – 1 grāmatu.

Izlasiet tabulu pēc dublēto vērtību izlaišanas

Dažreiz SELECT priekšraksta rezultātu kopā tiek ģenerēti dublēti dati, pamatojoties uz tabulas datiem, kas ir nevajadzīgi. Piemēram, šāds priekšraksts SELECT atgriež tabulas “book_borrow_info” datu ierakstu dublikātus.

ATLASĪT nosaukums , e-pasts
NO biedri , grāmatu_aizņemšanās_informācija
KUR grāmatu_aizņemšanās_informācija . dalībnieka_id = biedri . id;

Izlaidumā viens un tas pats ieraksts parādās divas reizes, jo “John Sina” dalībnieks aizņēmās divas grāmatas. Šo problēmu var atrisināt, izmantojot DISTINCT atslēgvārdu. Tas noņem ierakstu dublikātus no vaicājuma rezultāta.

Šis SELECT priekšraksts ģenerē unikālus rezultātu kopas ierakstus no tabulām “members” un “book_borrow_info” pēc tam, kad vaicājumā ir izlaistas dublikātu vērtības, izmantojot DISTINCT atslēgvārdu.

ATLASĪT ATŠĶIRĪGI nosaukums , e-pasts
NO biedri , grāmatu_aizņemšanās_informācija
KUR grāmatu_aizņemšanās_informācija . dalībnieka_id = biedri . id;

Izvade parāda, ka dublikāta vērtība ir noņemta no rezultātu kopas:

Izlasiet tabulu, ierobežojot rindas numuru

Dažreiz tas prasa no datu bāzes tabulas nolasīt konkrētu ierakstu skaitu no rezultātu kopas sākuma, rezultātu kopas beigām vai rezultātu kopas vidus, ierobežojot rindas numuru. To var izdarīt daudzos veidos. Pirms rindu ierobežošanas palaidiet šādu SQL priekšrakstu, lai pārbaudītu, cik ierakstu ir grāmatu tabulā:

ATLASĪT * NO grāmatas;

Izvade parāda, ka grāmatu tabulā ir četri ieraksti:

Šis SELECT priekšraksts nolasa pirmos divus ierakstus no tabulas “books”, izmantojot LIMIT klauzulu ar vērtību 2:

ATLASĪT * NO grāmatas LIMIT 2 ;

Tiek izgūti pirmie divi tabulas “grāmatas” ieraksti, kas tiek parādīti izvadā:

FETCH klauzula ir LIMIT klauzulas alternatīva, un tās izmantošana ir parādīta nākamajā SELECT priekšrakstā. Pirmie 3 tabulas “grāmatas” ieraksti tiek izgūti, izmantojot klauzulu FETCH FIRST 3 ROWS ONLY priekšrakstā SELECT:

ATLASĪT * NO grāmatas ATnest PIRMAIS 3 ROWS TIKAI ;

Izvade parāda pirmos 3 tabulas “grāmatas” ierakstus:

Divi ieraksti no 3 rd grāmatu tabulas rindas tiek izgūtas, izpildot šādu SELECT priekšrakstu. LIMIT klauzula šeit tiek izmantota ar vērtību 2, 2, kur pirmie 2 definē tabulas rindas sākuma pozīciju, kas sāk skaitīt no 0, un otrā 2 nosaka rindu skaitu, kuru skaitīšana sākas no sākuma pozīcijas.

ATLASĪT * NO grāmatas LIMIT 2 , 2 ;

Pēc iepriekšējā vaicājuma izpildes tiek parādīta šāda izvade:

Ierakstus no tabulas beigām var nolasīt, kārtojot tabulu dilstošā secībā, pamatojoties uz automātiski palielināto primārās atslēgas vērtību un izmantojot LIMIT klauzulu. Palaidiet šādu SELECT priekšrakstu, kas nolasa pēdējos 2 ierakstus no tabulas “grāmatas”. Šeit rezultātu kopa tiek sakārtota dilstošā secībā, pamatojoties uz lauku “id”.

ATLASĪT * NO grāmatas PASŪTĪT BY id DESC LIMIT 2 ;

Pēdējie divi grāmatu tabulas ieraksti tiek parādīti šādā izvadā:

Izlasiet tabulu, pamatojoties uz daļēju atbilstību

Klauzula LIKE tiek izmantota kopā ar simbolu “%”, lai izgūtu ierakstus no tabulas, veicot daļēju atbilstību. Šis priekšraksts SELECT meklē ierakstus no tabulas “books”, kur autora laukā vērtības sākumā ir “Jānis”, izmantojot klauzulu LIKE. Šeit meklēšanas virknes beigās tiek izmantots simbols “%”.

ATLASĪT * NO grāmatas KUR autors PATĪK 'Džons%' ;

Tabulā “books” ir tikai viens ieraksts, kurā autora lauka vērtības sākumā ir virkne “Jānis”.

Šis SELECT priekšraksts meklē ierakstus no tabulas “books”, kur publikācijas laukā vērtības beigās ir “Ltd”, izmantojot klauzulu LIKE. Šeit meklēšanas virknes sākumā tiek izmantots simbols “%”.

ATLASĪT * NO grāmatas KUR publikācija PATĪK '%Ltd' ;

Tabulā “grāmatas” ir tikai viens ieraksts, kas satur virkni “Ltd” publikācijas lauka beigās.

Šis SELECT priekšraksts meklē ierakstus no tabulas “grāmatas”, kur virsraksta laukā ir ietverts “Vaicājumi” jebkurā vērtības vietā, izmantojot klauzulu LIKE. Šeit simbols “%” tiek izmantots abās meklēšanas virknes pusēs:

ATLASĪT * NO grāmatas KUR virsraksts PATĪK '% Queries%' ;

Tabulā “grāmatas” ir tikai viens ieraksts, kura virsraksta laukā ir virkne “Vaicājumi”.

Saskaitiet tabulas konkrētā lauka summu

SUM() ir vēl viena noderīga SQL apkopojošā funkcija, kas aprēķina jebkura tabulas ciparu lauka vērtību summu. Šai funkcijai ir nepieciešams viens arguments, kam jābūt skaitliski. Šis SQL priekšraksts aprēķina visu tabulas “books” cenu lauka vērtību summu, kurā ir veselas vērtības.

ATLASĪT SUMMA ( cena ) AS 'Kopējā grāmatas cena'.
NO grāmatas;

Izvade parāda visu tabulas “grāmatas” cenu lauka vērtību summāro vērtību. Četras cenas lauka vērtības ir 39, 49, 35 un 45. Šo vērtību summa ir 168.

Atrodiet konkrētā lauka maksimālo un minimālo vērtību

Apkopojošās funkcijas MIN() un MAX() izmanto, lai noskaidrotu konkrētā tabulas lauka minimālās un maksimālās vērtības. Abām funkcijām ir viens arguments, kam jābūt skaitliski. Šis SQL priekšraksts nosaka minimālās cenas vērtību no tabulas “books”, kas ir vesels skaitlis.

ATLASĪT MIN ( cena ) AS 'Minimālo izmaksu grāmata'. NO grāmatas;

Trīsdesmit pieci (35) ir cenas lauka minimālā vērtība, kas tiek drukāta izejā.

Šis SQL priekšraksts nosaka maksimālo cenas vērtību no tabulas “grāmatas”.

ATLASĪT MAX ( cena ) AS 'Maksimālo izmaksu grāmata'. NO grāmatas;

Četrdesmit deviņi (49) ir cenas lauka maksimālā vērtība, kas tiek drukāta izvadē.

Izlasiet konkrēto datu daļu vai lauku

Funkcija SUBSTR() tiek izmantota SQL priekšrakstā, lai izgūtu konkrēto virknes datu daļu vai tabulas konkrētā lauka vērtību. Šī funkcija satur trīs argumentus. Pirmais arguments satur virknes vērtību vai tabulas lauka vērtību, kas ir virkne. Otrais arguments satur apakšvirknes sākuma pozīciju, kas tiek izgūta no pirmā argumenta, un šīs vērtības skaitīšana sākas ar 1. Trešais arguments satur apakšvirknes garumu, kura skaitīšana sākas no sākuma pozīcijas.

Šis SELECT priekšraksts izgriež un izdrukā pirmās piecas rakstzīmes no virknes “Learn SQL Basics”, kur sākuma pozīcija ir 1 un garums ir 5:

ATLASĪT SUBSTR ( 'Uzziniet SQL pamatus' , 1 , 5 ) AS Apakšvirknes vērtība ;

Virknes “Learn SQL Basics” pirmās piecas rakstzīmes ir “Learn”, kas tiek izdrukāta izvadā.

Šis SELECT priekšraksts izgriež un izdrukā SQL no virknes “Learn SQL Basics”, kuras sākuma pozīcija ir 7 un garums ir 3:

ATLASĪT SUBSTR ( 'Uzziniet SQL pamatus' , 7 , 3 ) AS Apakšvirknes vērtība ;

Pēc iepriekšējā vaicājuma izpildes tiek parādīta šāda izvade:

Šis SELECT priekšraksts izgriež un izdrukā pirmās piecas rakstzīmes no tabulas “biedri” nosaukuma lauka:

ATLASĪT SUBSTR ( nosaukums , 1 , 5 ) AS 'Biedra vārds'. NO biedri;

Izvade parāda pirmās piecas rakstzīmes katrai tabulas “biedru” nosaukuma lauka vērtībai.

Izlasiet tabulas datus pēc savienošanas

Funkciju CONCAT() izmanto, lai ģenerētu izvadi, apvienojot vienu vai vairākus tabulas laukus vai pievienojot virknes datus vai tabulas konkrētā lauka vērtību. Šis SQL priekšraksts nolasa tabulas “books” nosaukuma, autora un cenu lauku vērtības, un virknes “$” vērtība tiek pievienota katrai cenas lauka vērtībai, izmantojot funkciju CONCAT().

ATLASĪT virsraksts AS Nosaukums , autors AS Autors , CONCAT ( '$' , cena ) AS Cena
NO grāmatas;

Cenas lauka vērtības tiek izdrukātas izvadā, savienojot ar virkni “$”.

Palaidiet šo SQL priekšrakstu, lai apvienotu tabulas “books” nosaukuma un autora lauku vērtības ar virknes vērtību “by”, izmantojot funkciju CONCAT():

ATLASĪT CONCAT ( virsraksts , 'autors' , autors ) AS 'Grāmatas nosaukums ar autoru'.
NO grāmatas;

Pēc iepriekšējā SELECT vaicājuma izpildes tiek parādīta šāda izvade:

Izlasiet tabulas datus pēc matemātiskā aprēķina

Jebkuru matemātisku aprēķinu var veikt tabulas vērtību izgūšanas laikā, izmantojot SELECT priekšrakstu. Palaidiet šo SQL priekšrakstu, lai pēc 5% atlaides aprēķināšanas izlasītu ID, nosaukumu, cenu un cenas ar atlaidi vērtību.

ATLASĪT id , virsraksts , cena AS 'Parastā cena'. , cena - ( cena * 5 / 100 ) AS `Cena ar atlaidi`
NO grāmatas;

Tālāk sniegtajā izlaidē ir parādīta katras grāmatas parastā cena un atlaides cena:

Izveidojiet tabulas skatu

VIEW tiek izmantots, lai padarītu vaicājumu vienkāršu un nodrošinātu datu bāzes papildu drošību. Tas darbojas kā virtuāla tabula, kas tiek ģenerēta no vienas vai vairākām tabulām. Vienkārša SKATA izveides un izpildes metode, pamatojoties uz tabulu “Dalībnieki”, ir parādīta nākamajā piemērā. VIEW tiek izpildīts, izmantojot SELECT priekšrakstu. Šis SQL priekšraksts izveido tabulas “dalībnieki” SKATU ar laukiem ID, nosaukumu, adresi un kontaktpersonas_nr. SELECT priekšraksts izpilda member_view.

IZVEIDOT SKATĪT Member_view AS
ATLASĪT id , nosaukums , adrese , kontaktnr
NO biedri;

ATLASĪT * NO dalībnieks_skats;

Pēc skata izveides un izpildes tiek parādīta šāda izvade:

Atjauniniet tabulu, pamatojoties uz konkrēto nosacījumu

Paziņojums UPDATE tiek izmantots, lai atjauninātu tabulas saturu. Ja kāds UPDATE vaicājums tiek izpildīts bez WHERE klauzulas, tiek atjaunināti visi lauki, kas tiek izmantoti vaicājumā UPDATE. Tātad, ir nepieciešams izmantot UPDATE paziņojumu ar atbilstošu WHERE klauzulu. Palaidiet šādu priekšrakstu UPDATE, lai atjauninātu nosaukumu un kontakta_nr. laukus, kur id lauka vērtība ir 1. Pēc tam izpildiet priekšrakstu SELECT, lai pārbaudītu, vai dati ir pareizi atjaunināti.

ATJAUNINĀT biedri
IESTATĪT nosaukums = 'Janifer' , kontaktnr = '+880175621223'
KUR id = 1 ;

ATLASĪT * NO biedri;

Šī izvade parāda, ka UPDATE priekšraksts ir veiksmīgi izpildīts. Nosaukuma lauka vērtība tiek mainīta uz “Janifer”, un lauks contact_no tiek mainīts uz “+880175621223” ierakstam, kurā ir id vērtība 1, izmantojot vaicājumu UPDATE:

Dzēsiet tabulas datus, pamatojoties uz konkrēto nosacījumu

DELETE priekšraksts tiek izmantots, lai dzēstu konkrētu saturu vai visu tabulas saturu. Ja kāds DELETE vaicājums tiek izpildīts bez WHERE klauzulas, visi lauki tiek dzēsti. Tātad, ir jāizmanto priekšraksts UPDATE ar atbilstošu WHERE klauzulu. Palaidiet šo DELETE priekšrakstu, lai izdzēstu visus datus no grāmatu tabulas, kur id vērtība ir 4. Pēc tam izpildiet priekšrakstu SELECT, lai pārbaudītu, vai dati ir dzēsti pareizi.

DZĒST NO grāmatas KUR id = 4 ;
ATLASĪT * NO grāmatas;

Šī izvade parāda, ka DELETE priekšraksts ir veiksmīgi izpildīts. 4 th grāmatu tabulas ieraksts tiek noņemts, izmantojot vaicājumu DELETE:

Izdzēsiet visus ierakstus no tabulas

Palaidiet šo DELETE priekšrakstu, lai izdzēstu visus ierakstus no tabulas “grāmatas”, kur WHERE klauzula ir izlaista. Pēc tam izpildiet vaicājumu SELECT, lai pārbaudītu tabulas saturu.

DZĒST NO grāmata_aizņemties_informācija;
ATLASĪT * NO grāmata_aizņemties_informācija;

Šī izvade parāda, ka tabula “grāmatas” ir tukša pēc DELETE vaicājuma izpildes:

Ja kādā tabulā ir automātiskās palielināšanas atribūts un visi ieraksti tiek dzēsti no tabulas, automātiskās palielināšanas lauks sāk skaitīt no pēdējā pieauguma, kad pēc tabulas tukšošanas tiek ievietots jauns ieraksts. Šo problēmu var atrisināt, izmantojot priekšrakstu TRUNCATE. To izmanto arī, lai izdzēstu visus ierakstus no tabulas, bet automātiskās palielināšanas lauks sāk skaitīt no 1 pēc visu ierakstu dzēšanas no tabulas. TRUNCATE priekšraksta SQL ir parādīts šādi:

TRUCĒT grāmata_aizņemties_informācija;

Nometiet tabulu

Vienu vai vairākas tabulas var atmest, pārbaudot vai nepārbaudot, vai tabula pastāv vai nav. Šie DROP priekšraksti dzēš tabulu “book_borrow_info”, un priekšraksts “SHOW tables” pārbauda, ​​vai tabula serverī pastāv.

NOLIETOT TABULA grāmata_aizņemties_informācija;
RĀDĪT TABULAS ;

Izvade parāda, ka tabula “book_borrow_info” ir atmesta.

Tabulu var atmest pēc tam, kad ir pārbaudīts, vai tā pastāv serverī vai nē. Palaidiet šo DROP priekšrakstu, lai dzēstu grāmatu un dalībnieku tabulu, ja šīs tabulas pastāv serverī. Pēc tam priekšraksts “SHOW tables” pārbauda, ​​vai tabulas serverī pastāv vai nav.

NOLIETOT TABULA JA PASTĀV grāmatas , biedri;
RĀDĪT TABULAS ;

Šī izvade parāda, ka tabulas ir izdzēstas no servera:

Atmetiet datu bāzi

Palaidiet šo SQL priekšrakstu, lai no servera izdzēstu datubāzi “bibliotēka”.

NOLIETOT DATU BĀZE bibliotēka;

Izvade parāda, ka datu bāze ir pamesta.

Secinājums

Visbiežāk izmantotie SQL vaicājumu piemēri, lai izveidotu, piekļūtu, modificētu un dzēstu MariaDB servera datu bāzi, ir parādīti šajā apmācībā, izveidojot datu bāzi un trīs tabulas. Dažādu SQL priekšrakstu izmantošana ir izskaidrota ar ļoti vienkāršiem piemēriem, lai palīdzētu jaunajam datu bāzes lietotājam pareizi apgūt SQL pamatus. Sarežģītu vaicājumu izmantošana šeit ir izlaista. Jaunie datu bāzes lietotāji varēs sākt strādāt ar jebkuru datu bāzi pēc šīs apmācības pareizas izlasīšanas.