„MySQL SELECT“ teiginys su pavyzdžiais

Kas yra „SELECT“ užklausa „MySQL“?

SELECT QUERY naudojamas norint gauti duomenis iš „MySQL“ duomenų bazės. Duomenų bazėse saugomi duomenys vėliau. „MySQL Select“ tikslas yra grąžinti iš duomenų bazės lentelių vieną ar daugiau eilučių, atitinkančių nurodytus kriterijus. Pasirinkite užklausą galima naudoti scenarijų kalba, pvz., PHP, „Ruby“, arba galite ją atlikti naudodami komandų eilutę.

SQL SELECT sakinio sintaksė

Tai dažniausiai naudojama SQL komanda ir turi tokią bendrą sintaksę

SELECT [DISTINCT|ALL ] { * | [fieldExpression [AS newName]} FROM tableName [alias] [WHERE condition][GROUP BY fieldName(s)] [HAVING condition] ORDER BY fieldName(s)
ČIA
  • SELECT yra SQL raktinis žodis, leidžiantis duomenų bazei žinoti, kad norite gauti duomenis.
  • [NESKIRTI | VISI] yra neprivalomi raktiniai žodžiai, kuriais galima tikslinti rezultatus, gautus iš SQL SELECT sakinio. Jei nieko nenurodyta, laikoma, kad VISAS yra numatytasis.
  • {* | [fieldExpression [AS newName]} turi būti nurodyta bent viena dalis, „*“ pasirinko visus laukus iš nurodyto lentelės pavadinimo, „FieldExpression“ atlieka tam tikrus nurodytų laukų skaičiavimus, pavyzdžiui, prideda skaičius arba sujungia du eilutės laukus į vieną.
  • FROM tableName yra privalomas ir turi turėti bent vieną lentelę, kelias lenteles reikia atskirti kableliais arba sujungti naudojant JOIN raktinį žodį.
  • WHERE sąlyga yra neprivaloma, ją galima naudoti nurodant kriterijus rezultatų rinkinyje, pateiktame iš užklausos.
  • GROUP BY naudojamas sudėti įrašus, kurių laukų reikšmės yra vienodos.
  • HAVING sąlyga naudojama norint nurodyti kriterijus dirbant naudojant raktinį žodį GROUP BY.
  • ORDER BY naudojamas nurodyti rezultatų rinkinio rūšiavimo tvarką.

*

Žvaigždės simbolis naudojamas visiems lentelės stulpeliams pasirinkti. Paprasto SELECT sakinio pavyzdys atrodo taip, kaip parodyta žemiau.

SELECT * FROM `members`;

Pirmiau pateiktame sakinyje parenkami visi laukai iš narių lentelės. Kabliataškis yra pareiškimas nutraukti. Tai nėra privaloma, tačiau laikoma gera praktika, kad taip užbaigtumėte savo teiginius.

Praktiniai pavyzdžiai

Spustelėkite, jei norite atsisiųsti „myflix DB“, naudojamą praktiniams pavyzdžiams.

Galite išmokti importuoti .sql failą į „MySQL WorkBench“

Pavyzdžiai atliekami šiose dviejose lentelėse

1 lentelė: narių lentelė

narystės skaičius pilni_vardai Lytis Gimimo data fizinis adresas pašto adresas cont_ numeris paštu
1 Janet Jones Moteris 1980-07-21 Pirmosios gatvės sklypas Nr. 4 Privatus krepšys 0759 253 542 Šis el. Pašto adresas yra apsaugotas nuo šiukšlų. Norėdami jį peržiūrėti, turite įgalinti „JavaScript“.
2 Janet Smith Jones Moteris 1980-06-23 Melrose 123 NULL NULL Šis el. Pašto adresas yra apsaugotas nuo šiukšlų. Norėdami jį peržiūrėti, turite įgalinti „JavaScript“.
3 Robertas Philas Patinas 1989-07-12 3-oji gatvė 34 NULL 12345 Šis el. Pašto adresas yra apsaugotas nuo šiukšlų. Norėdami jį peržiūrėti, turite įgalinti „JavaScript“.
4 Gloria Williams Moteris 1984-02-14 2-oji gatvė 23 NULL NULL NULL

2 lentelė: filmų lentelė

filmo ID pavadinimas direktorius metai_išleistas category_id
1 Karibų piratai 4 Robas Maršalas 2011 m 1
2 Pamiršęs Sarą maršalą Nicholas Stolleris 2008 m 2
3 Iksmenai NULL 2008 m NULL
4 Kodo pavadinimas juodas Edgaras Jimzas 2010 m NULL
5 Tėčio mažos mergaitės NULL 2007 m 8
6 Angelai ir demonai NULL 2007 m 6
7 Davinci kodas NULL 2007 m 6
9 Medaus mėnulininkai Johnas Schultzas 2005 m 8
16 67% kaltas NULL 2012 m NULL

Gaunami narių sąrašai

Tarkime, kad iš savo duomenų bazės norime gauti visų registruotų bibliotekos narių sąrašą, tam naudosime žemiau pateiktą scenarijų.

SELECT * FROM `members`;

Minėto scenarijaus vykdymas MySQL darbastalyje duoda šiuos rezultatus.

narystės skaičius pilni_vardai Lytis Gimimo data fizinis adresas pašto adresas cont_ numeris paštu
1 Janet Jones Moteris 1980-07-21 Pirmosios gatvės sklypas Nr. 4 Privatus krepšys 0759 253 542 Šis el. Pašto adresas yra apsaugotas nuo šiukšlų. Norėdami jį peržiūrėti, turite įgalinti „JavaScript“.
2 Janet Smith Jones Moteris 1980-06-23 Melrose 123 NULL NULL Šis el. Pašto adresas yra apsaugotas nuo šiukšlų. Norėdami jį peržiūrėti, turite įgalinti „JavaScript“.
3 Robertas Philas Patinas 1989-07-12 3-oji gatvė 34 NULL 12345 Šis el. Pašto adresas yra apsaugotas nuo šiukšlų. Norėdami jį peržiūrėti, turite įgalinti „JavaScript“.
4 Gloria Williams Moteris 1984-02-14 2-oji gatvė 23 NULL NULL NULL

Aukščiau pateikta užklausa grąžino visas narių lentelės eilutes ir stulpelius.

Tarkime, kad mus domina tik laukai „visi_vardai“, „lytis“, „fizinis adresas“ ir el. Pašto adresai. Šis scenarijus padėtų mums tai pasiekti.

SELECT `full_names`,`gender`,`physical_address`, `email` FROM `members`;

Minėto scenarijaus vykdymas MySQL darbastalyje duoda šiuos rezultatus.

pilni_vardai Lytis fizinis adresas paštu
Janet Jones Moteris Pirmosios gatvės sklypas Nr. 4 Šis el. Pašto adresas yra apsaugotas nuo šiukšlų. Norėdami jį peržiūrėti, turite įgalinti „JavaScript“.
Janet Smith Jones Moteris Melrose 123 Šis el. Pašto adresas yra apsaugotas nuo šiukšlų. Norėdami jį peržiūrėti, turite įgalinti „JavaScript“.
Robertas Philas Patinas 3-oji gatvė 34 Šis el. Pašto adresas yra apsaugotas nuo šiukšlų. Norėdami jį peržiūrėti, turite įgalinti „JavaScript“.
Gloria Williams Moteris 2-oji gatvė 23 NULL

Gaunamas filmų sąrašas

Atminkite, kad aukščiau vykusioje diskusijoje paminėjome išraiškas, kurios buvo naudojamos SELECT teiginiuose. Tarkime, kad iš savo duomenų bazės norime gauti filmų sąrašą. Norime, kad filmo pavadinimas ir filmo režisieriaus vardas būtų vienoje srityje. Filmo režisieriaus vardas turėtų būti nurodytas skliausteliuose. Taip pat norime gauti filmo išleidimo metus. Šis scenarijus mums padeda tai padaryti.

SELECT Concat(`title`, ' (', `director`, ')') , `year_released` FROM `movies`;

ČIA

  • Concat () MySQL funkcija naudojama sujungti stulpelių reikšmes.
  • Eilutė "Concat (" pavadinimas "," ("," režisierius ",") ") gauna pavadinimą, prideda pradinį skliaustą, po kurio rašo režisieriaus vardas, tada prideda uždarymą.

Styginių dalys yra atskirtos kableliais funkcijoje „Concat“ ().

Vykdant pirmiau pateiktą scenarijų „MySQL“ darbastalyje gaunamas toks rezultatų rinkinys.

Concat („pavadinimas“, „(“, „režisierius“, „)“) metai_išleistas
Karibų piratai 4 (Robas Marshallas) 2011 m
Pamiršai Sarah Marshal (Nicholas Stoller) 2008 m
NULL 2008 m
Kodo pavadinimas juodas (Edgaras Jimzas) 2010 m
NULL 2007 m
NULL 2007 m
NULL 2007 m
Medaus mėnulininkai (John Schultz) 2005 m
NULL 2012 m

Pseudonimų laukų pavadinimai

Ankstesnis pavyzdys grąžino „Concatenation“ kodą kaip lauko rezultato pavadinimą. Tarkime, kad savo rezultatų rinkinyje norime naudoti labiau apibūdinantį lauko pavadinimą. Norėdami tai pasiekti, naudosime stulpelio pseudonimą. Toliau pateikiama pagrindinė stulpelio slapyvardžio sintaksė

SELECT `column_name|value|expression` [AS] `alias_name`;

ČIA

  • "SELECT" column_name | value | expression " yra įprastas SELECT sakinys, kuris gali būti stulpelio pavadinimas, reikšmė ar išraiška.
  • „[AS]“ yra pasirenkamas raktinis žodis, prieš pavadinimo vardas, nurodantis išraišką, reikšmę ar lauko pavadinimą, bus grąžintas kaip.
  • „„ alias_name ““ yra slapyvardžio vardas, kurį norime grąžinti į savo rezultatų rinkinį kaip lauko pavadinimą.

Pirmiau pateikta užklausa su prasmingesniu stulpelio pavadinimu

SELECT Concat(`title`, ' (', `director`, ')') AS 'Concat', `year_released` FROM `movies`;

Gauname tokį rezultatą

Concat metai_išleistas
Karibų piratai 4 (Robas Marshallas) 2011 m
Pamiršai Sarah Marshal (Nicholas Stoller) 2008 m
NULL 2008 m
Kodo pavadinimas juodas (Edgaras Jimzas) 2010 m
NULL 2007 m
NULL 2007 m
NULL 2007 m
Medaus mėnulininkai (John Schultz) 2005 m
NULL 2012 m

Gauti narius, nurodančius gimimo metus

Tarkime, kad norime gauti visų narių sąrašą, kuriame būtų nurodytas narystės numeris, vardai ir pavardės bei gimimo metai, galime naudoti eilutę LEFT, norėdami išskirti gimimo metus iš gimimo datos lauko. Tai padaryti mums padeda žemiau pateiktas scenarijus.

SELECT `membership_number`,`full_names`,LEFT(`date_of_birth`,4) AS `year_of_birth` FROM members;

ČIA

  • "Left (" date_of_birth`, 4) " KAIRĖN eilutės funkcijos priima gimimo datą, kaip parametro ir tik grįžta 4 ženklus iš kairės.
  • "AS" year_of_birth "" yra stulpelio pseudonimas, kuris bus pateiktas mūsų rezultatuose. Atkreipkite dėmesį, kad AS raktinis žodis yra neprivalomas , galite jo palikti, o užklausa vis tiek veiks.

Vykdydami pirmiau pateiktą užklausą „MySQL“ darbastalyje prieš „myflixdb“, gausime toliau nurodytus rezultatus.

narystės skaičius pilni_vardai Gimimo metai
1 Janet Jones 1980 m
2 Janet Smith Jones 1980 m
3 Robertas Philas 1989 metai
4 Gloria Williams 1984 m

SQL naudojant „MySQL Workbench“

Dabar mes ketiname naudoti „MySQL“ darbastalį, kad sugeneruotume scenarijų, kuriame bus rodomi visi laukų pavadinimai iš mūsų kategorijų lentelės.

1. Dešiniuoju pelės mygtuku spustelėkite Kategorijų lentelę. Spustelėkite „Pasirinkti eilutes - apriboti 1000“

2. „MySQL“ darbastalis automatiškai sukurs SQL užklausą ir įklijuos į redaktorių.

3. Užklausos rezultatai bus rodomi

Atkreipkite dėmesį, kad mes patys nerašėme SELECT sakinio. „MySQL“ darbastalis jį sukūrė mums.

Kodėl verta naudoti komandą SELECT SQL, kai turime „MySQL Workbench“?

Dabar jūs galvojate, kodėl išmokti komandą „SQL SELECT“ pateikti duomenis iš duomenų bazės, kai galite paprasčiausiai naudoti įrankį, pvz., „MySQL“ darbastalį, kad gautumėte tuos pačius rezultatus nežinodami SQL kalbos. Žinoma, kad galima, bet išmokti naudotis SELECT komanda suteikia jums daugiau lankstumo ir kontrolę per savo SQL SELECT .

„MySQL“ darbastalis priskiriamas QBE įrankių kategorijai „ Užklausa pagal pavyzdį “. Jis skirtas padėti greičiau generuoti SQL sakinius, kad padidėtų vartotojo produktyvumas.

Išmokę komandą „SQL SELECT“, galite sukurti sudėtingas užklausas , kurių negalima lengvai sugeneruoti naudojant „Query by Example“ įrankius, pvz., „MySQL“ darbastalį.

Norėdami pagerinti produktyvumą, galite sugeneruoti kodą naudodami „MySQL“ darbastalį, tada pritaikykitesavo poreikiams . Tai gali atsitikti tik tada, jei suprantate, kaip veikia SQL sakiniai!

Santrauka

  • SQL SELECT raktinis žodis naudojamas norint pateikti užklausą duomenims iš duomenų bazės ir tai dažniausiai naudojama komanda.
  • Paprasčiausia forma turi sintaksę „SELECT * FROM tableName;“
  • Išraiškos taip pat gali būti naudojamos pasirinktame sakinyje. Pavyzdys „PASIRINKITE kiekį ir kainą iš pardavimo“
  • SQL SELECT komanda taip pat gali turėti kitus pasirenkamus parametrus, tokius kaip WHERE, GROUP BY, HAVING, ORDER BY. Jie bus aptariami vėliau.
  • „MySQL“ darbastalis gali padėti sukurti SQL sakinius, juos vykdyti ir išvesties rezultatą sukurti tame pačiame lange.

Įdomios straipsniai...