MySQL SELECT avaldus koos näidetega

Lang L: none (table-of-contents):

Anonim

Mis on SELECT-päring MySQL-is?

SELECT QUERY kasutatakse andmete hankimiseks MySQL-i andmebaasist. Andmebaasid salvestavad andmeid hilisemaks otsimiseks. MySQL Selecti eesmärk on tagastada andmebaasitabelitest üks või mitu antud kriteeriumile vastavat rida. Valitavat päringut saab kasutada skriptikeeles nagu PHP, Ruby, või saate selle käivitada käsuviiba kaudu.

SQL SELECT-lause süntaks

See on kõige sagedamini kasutatav SQL-käsk ja sellel on järgmine üldine süntaks

SELECT [DISTINCT|ALL ] { * | [fieldExpression [AS newName]} FROM tableName [alias] [WHERE condition][GROUP BY fieldName(s)] [HAVING condition] ORDER BY fieldName(s)
SIIN
  • SELECT on SQL-i märksõna, mis annab andmebaasile teada, et soovite andmeid hankida.
  • [ERISTADA | KÕIK] on valikulised märksõnad, mida saab kasutada SQL SELECT-i lausest tagastatud tulemuste täpsemaks häälestamiseks. Kui midagi pole täpsustatud, eeldatakse, et vaikimisi on KÕIK.
  • {* | [fieldExpression [AS newName]} peab olema määratud vähemalt üks osa, "*" valis kõik väljad määratud tabeli nimest, fieldExpression teostab määratud väljadel mõned arvutused, näiteks lisab numbreid või paneb kaks stringivälja ühte.
  • FROM tableName on kohustuslik ja peab sisaldama vähemalt ühte tabelit, mitu tabelit tuleb eraldada komadega või ühendada märksõna JOIN abil.
  • Kus tingimus on valikuline, saab seda kasutada päringu tagastatud tulemuste komplektis kriteeriumide määramiseks.
  • GROUP BY kasutatakse samade väljaväärtustega kirjete kokku panemiseks.
  • Tingimust HAVING kasutatakse kriteeriumide täpsustamiseks märksõna GROUP BY kasutamisel.
  • ORDER BY kasutatakse tulemuste komplekti sortimisjärjestuse määramiseks.

*

Tärni tähte kasutatakse kõigi tabeli veergude valimiseks. Lihtsa SELECT-lause näide näeb välja selline, nagu allpool näidatud.

SELECT * FROM `members`;

Ülaltoodud lause valib liikmete tabelist kõik väljad. Semikoolon on avaldus lõpetada. See ei ole kohustuslik, kuid seda peetakse heaks tavaks oma avalduste selliseks lõpetamiseks.

Praktilised näited

Klõpsake praktiliste näidete jaoks kasutatud myflix DB allalaadimiseks .

Võite õppida .sql-faili importima MySQL WorkBenchi

Näited esitatakse kahel järgmisel tabelil

Tabel 1: liikmete tabel

liikmenumber täisnimed sugu sünnikuupäev füüsiline_aadress postiaadress cont_ number e-post
1 Janet Jones Naine 21-07-1980 Esimese tänava krunt nr 4 Privaatne kott 0759 253 542 See e-posti aadress on spämmirobotite eest kaitstud. Selle vaatamiseks peate lubama JavaScripti.
2 Janet Smith Jones Naine 23.06.1980 Melrose 123 NULL NULL See e-posti aadress on spämmirobotite eest kaitstud. Selle vaatamiseks peate lubama JavaScripti.
3 Robert Phil Mees 12-07-1989 3. tänav 34 NULL 12345 See e-posti aadress on spämmirobotite eest kaitstud. Selle vaatamiseks peate lubama JavaScripti.
4 Gloria Williams Naine 14-02-1984 2. tänav 23 NULL NULL NULL

Tabel 2: filmide tabel

movie_id pealkiri direktor aasta_vabastatud category_id
1 Kariibi mere piraadid 4 Rob Marshall 2011 1
2 Sarah marssali unustamine Nicholas Stoller 2008 2
3 X mehed NULL 2008 NULL
4 Koodinimi Must Edgar Jimz 2010 NULL
5 Isa väikesed tüdrukud NULL 2007 8
6 Inglid ja deemonid NULL 2007 6
7 Davinci kood NULL 2007 6
9 Kallis mooners John Schultz 2005 8
16 67% süüdi NULL 2012 NULL

Liikmete nimekirja saamine

Oletame, et tahame oma andmebaasist saada nimekirja kõigist registreeritud raamatukogu liikmetest, kasutaksime selleks allpool näidatud skripti.

SELECT * FROM `members`;

Ülaltoodud skripti käivitamine MySQL-i töölauas annab järgmised tulemused.

liikmenumber täisnimed sugu sünnikuupäev füüsiline_aadress postiaadress cont_ number e-post
1 Janet Jones Naine 21-07-1980 Esimese tänava krunt nr 4 Privaatne kott 0759 253 542 See e-posti aadress on spämmirobotite eest kaitstud. Selle vaatamiseks peate lubama JavaScripti.
2 Janet Smith Jones Naine 23.06.1980 Melrose 123 NULL NULL See e-posti aadress on spämmirobotite eest kaitstud. Selle vaatamiseks peate lubama JavaScripti.
3 Robert Phil Mees 12-07-1989 3. tänav 34 NULL 12345 See e-posti aadress on spämmirobotite eest kaitstud. Selle vaatamiseks peate lubama JavaScripti.
4 Gloria Williams Naine 14-02-1984 2. tänav 23 NULL NULL NULL

Meie ülaltoodud päring on tagastanud liikmete tabeli kõik read ja veerud.

Oletame, et meid huvitab ainult väljade täisnimed, sugu, füüsiline aadress ja e-posti aadress. Järgmine skript aitaks meil seda saavutada.

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

Ülaltoodud skripti käivitamine MySQL-i töölauas annab järgmised tulemused.

täisnimed sugu füüsiline_aadress e-post
Janet Jones Naine Esimese tänava krunt nr 4 See e-posti aadress on spämmirobotite eest kaitstud. Selle vaatamiseks peate lubama JavaScripti.
Janet Smith Jones Naine Melrose 123 See e-posti aadress on spämmirobotite eest kaitstud. Selle vaatamiseks peate lubama JavaScripti.
Robert Phil Mees 3. tänav 34 See e-posti aadress on spämmirobotite eest kaitstud. Selle vaatamiseks peate lubama JavaScripti.
Gloria Williams Naine 2. tänav 23 NULL

Filmide nimekirja saamine

Pidage oma ülalolevas arutelus meeles, et mainime SELECT-lausetes kasutatud väljendeid. Oletame, et tahame oma andmebaasist saada nimekirja filmidest. Tahame, et filmi pealkiri ja režissööri nimi oleksid ühes valdkonnas. Filmi režissööri nimi peaks olema sulgudes. Samuti tahame saada filmi väljaandmise aasta. Järgmine skript aitab meil seda teha.

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

SIIN

  • Funktsiooni Concat () MySQL kasutatakse veergude väärtuste ühendamiseks.
  • Rida "Concat (" pealkiri "," ("," režissöör ",") ") saab pealkirja, lisab avasulg, millele järgneb režissööri nimi ja seejärel sulg.

Stringi osad eraldatakse funktsioonis Concat () komadega.

Ülaltoodud skripti käivitamine MySQL-i töölauas annab järgmise tulemuste komplekti.

Concat ("pealkiri", "(", "lavastaja", ")") aasta_vabastatud
Kariibi mere piraadid 4 (Rob Marshall) 2011
Sarah marssali (Nicholas Stoller) unustamine 2008
NULL 2008
Koodnimi must (Edgar Jimz) 2010
NULL 2007
NULL 2007
NULL 2007
Honey mooners (John Schultz) 2005
NULL 2012

Alias ​​väljade nimed

Ülaltoodud näide tagastas liitmise koodi meie tulemuste välja nimeks. Oletame, et tahame oma tulemuste komplektis kasutada kirjeldavamat välja nime. Selle saavutamiseks kasutaksime veeru pseudonime. Järgmine on veeru pseudonüümi põhisüntaks

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

SIIN

  • "SELECT" veeru_nimi | väärtus | avaldis " on tavaline SELECT-lause, mis võib olla veeru nimi, väärtus või avaldis.
  • "[AS]" on valikuline märksõna, enne kui avaldise, väärtuse või välja nime tähistava varjunime nimi tagastatakse.
  • "" alias_nimi " on varjunime nimi, mille tahame oma tulemikomplektis välja nimena tagastada.

Ülaltoodud päring sisukama veeru nimega

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

Saame järgmise tulemuse

Concat aasta_vabastatud
Kariibi mere piraadid 4 (Rob Marshall) 2011
Sarah marssali (Nicholas Stoller) unustamine 2008
NULL 2008
Koodnimi must (Edgar Jimz) 2010
NULL 2007
NULL 2007
NULL 2007
Honey mooners (John Schultz) 2005
NULL 2012

Liikmete hankimine nimekirja, kus on näidatud sünniaasta

Oletame, et tahame saada nimekirja kõigist liikmetest, kus on kirjas liikmenumber, täisnimed ja sünniaasta, saame vasaku stringifunktsiooni abil välja võtta sünniaasta väljast. Allpool toodud skript aitab meil seda teha.

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

SIIN

  • "LEFT (` date_of_birth`, 4) " LEFT string funktsioon aktsepteerib sünniaeg kui parameeter ja näitab ainult 4 tähemärki vasakult.
  • "AS" year_of_birth "" on veeru varjunimi , mis tagastatakse meie tulemustes. Pange tähele, et AS-i märksõna on valikuline , võite selle välja jätta ja päring töötab endiselt.

Ülaltoodud päringu täitmine MySQL-i töölaual myflixdb-ga annab meile allpool näidatud tulemused.

liikmenumber täisnimed sünniaasta
1 Janet Jones 1980
2 Janet Smith Jones 1980
3 Robert Phil 1989
4 Gloria Williams 1984

SQL MySQL Workbenchi abil

Kasutame nüüd MySQL-i tööpinki skripti loomiseks, mis kuvab kõik kategooriate tabeli väljade nimed.

1. Paremklõpsake tabelil Kategooriad. Klõpsake nuppu "Vali read - piira 1000"

2. MySQL töölaud loob automaatselt SQL-päringu ja kleebib redaktorisse.

3. Päringu tulemused kuvatakse

Pange tähele, et me ei kirjutanud ise SELECT-lauset. MySQLi tööpink lõi selle meie jaoks.

Miks kasutada käsku SELECT SQL, kui meil on MySQL Workbench?

Nüüd võite mõelda, miks õppida SQL SELECTi käsku andmebaasist andmete pärimiseks, kui saate lihtsalt kasutada tööriista nagu MySQL töölaud, et saada samu tulemusi ilma SQL-keelt tundmata. Muidugi on see võimalik, kuid käsu SELECT õppimine annab teile suurema paindlikkuse ja kontrolli oma SQL SELECT-lausete üle .

MySQL-i tööpink kuulub QBE-tööriistade kategooriasse " Päring näite järgi ". See on mõeldud kasutaja tootlikkuse suurendamiseks kiiremini SQL-i lausete loomiseks.

SQL SELECT-käsu õppimine võimaldab teil luua keerukaid päringuid , mida ei saa hõlpsasti Query by Example utiliitide abil luua, näiteks MySQL-i töölaud.

Tootlikkuse parandamiseks saate koodi genereerida MySQL-i tööpingi abil, seejärel kohandage see oma vajadustele vastavaks . See võib juhtuda ainult siis, kui saate aru, kuidas SQL-i laused töötavad!

Kokkuvõte

  • SQL SELECTi märksõna kasutatakse andmebaasist andmete pärimiseks ja see on kõige sagedamini kasutatav käsk.
  • Kõige lihtsamal vormil on süntaks "SELECT * FROM tableName;"
  • Avaldisi saab kasutada ka valitud lauses. Näide "VALI kogus + hind müügist"
  • SQL SELECT-käsul võivad olla ka muud valikulised parameetrid, näiteks WHERE, GROUP BY, HAVING, ORDER BY. Neid arutatakse hiljem.
  • MySQL-i tööpink võib aidata SQL-i lauseid arendada, neid käivitada ja väljunditulemuse luua samas aknas.