MySQL SELECT Lauseke esimerkkeineen
Missä SELECT-kysely on MySQL?
SELECT QUERY käytetään tietojen hakemiseen MySQL tietokanta. Tietokannat tallentavat tiedot myöhempää hakua varten. Tarkoitus MySQL Valitse, jos haluat palauttaa tietokantataulukoista yhden tai useamman rivin, jotka vastaavat annettuja ehtoja. Valintakyselyä voidaan käyttää komentosarjakielellä, kuten PHP, Ruby, tai voit suorittaa sen komentokehotteen kautta.
SQL SELECT -käskyn syntaksi
Se on yleisimmin käytetty SQL-komento, ja sillä on seuraava yleinen syntaksi
SELECT [DISTINCT|ALL ] { * | [fieldExpression [AS newName]} FROM tableName [alias] [WHERE condition][GROUP BY fieldName(s)] [HAVING condition] ORDER BY fieldName(s)
TÄÄLTÄ
- VALITSE on SQL-avainsana, jonka avulla tietokanta tietää, että haluat hakea tietoja.
- [DISTINCT | KAIKKI] ovat valinnaisia avainsanoja, joita voidaan käyttää SQL SELECT -käskyn tulosten hienosäätämiseen. Jos mitään ei ole määritetty, oletusarvoksi oletetaan KAIKKI.
- {*| [fieldExpression [AS newName]} vähintään yksi osa on määritettävä, “*” valitsi kaikki kentät määritetystä taulukon nimestä, fieldExpression suorittaa joitakin laskelmia määritetyille kentille, kuten lisää numeroita tai yhdistää kaksi merkkijonokenttää yhdeksi.
- FROM tableName on pakollinen, ja sen tulee sisältää vähintään yksi taulukko, useat taulukot on erotettava toisistaan pilkuilla tai yhdistettävä JOIN-avainsanalla.
- MISTÄ ehto on valinnainen, sitä voidaan käyttää kriteerien määrittämiseen kyselystä palautetussa tulosjoukossa.
- GROUP BY käytetään koota tietueita, joilla on samat kenttäarvot.
- oTTAA ehtoa käytetään kriteerien määrittämiseen käytettäessä GROUP BY -avainsanaa.
- TILAUS käytetään määrittämään tulosjoukon lajittelujärjestys.
*
Tähti-symbolia käytetään valitsemaan kaikki taulukon sarakkeet. Esimerkki yksinkertaisesta SELECT-lauseesta näyttää alla esitetyltä.
SELECT * FROM `members`;
Yllä oleva lauseke valitsee kaikki kentät jäsentaulukosta. Puolipiste on lauseen pääte. Se ei ole pakollista, mutta sitä pidetään hyvänä käytäntönä lopettaa lausuntosi tällä tavalla.
Käytännön esimerkkejä
Lataa napsauttamalla tätä Käytännön esimerkeissä käytetty myflix DB.
Voit oppia tuomaan .sql-tiedoston MySQL työpöytä
Esimerkit on suoritettu seuraavilla kahdella taulukolla
Taulukko 1: jäseniä taulukko
jäsennumero | full_names | sukupuoli | syntymäaika | fyysinen osoite | postiosoite | yhteystieto_ numero | |
---|---|---|---|---|---|---|---|
1 | Janet Jones | Nainen | 21-07-1980 | First Street -tontti nro 4 | Yksityinen laukku | 0759 253 542 | janetjones@yagoo.cm |
2 | Janet Smith Jones | Nainen | 23-06-1980 | Melrose 123 | NULL | NULL | jj@fstreet.com |
3 | Robert Phil | Mies | 12-07-1989 | 3rd Street 34 | NULL | 12345 | rm@tstreet.com |
4 | Gloria Williams | Nainen | 14-02-1984 | 2nd Street 23 | NULL | NULL | NULL |
Taulukko 2: Elokuvat taulukko
elokuvan_tunnus | otsikko | johtaja | vuosi_vapautettu | kategorian_tunnus |
---|---|---|---|---|
1 | Pirates of the Caribbean 4 | Rob Marshall | 2011 | 1 |
2 | Sarah Marshal unohdetaan | Nicholas Stoller | 2008 | 2 |
3 | X-Men | NULL | 2008 | NULL |
4 | Koodi Nimi Musta | Edgar Jimz | 2010 | NULL |
5 | Isän pienet tytöt | NULL | 2007 | 8 |
6 | enkelit ja demonit | NULL | 2007 | 6 |
7 | Davinci koodi | NULL | 2007 | 6 |
9 | Honey kuukautiset | John Schultz | 2005 | 8 |
16 | 67% syyllinen | NULL | 2012 | NULL |
Jäsenluettelon saaminen
Oletetaan, että haluamme saada luettelon kaikista rekisteröidyistä kirjaston jäsenistä tietokannastamme, käyttäisimme alla olevaa skriptiä tehdäksemme sen.
SELECT * FROM `members`;
Suoritetaan yllä oleva komentosarja MySQL työpöytä tuottaa seuraavat tulokset.
jäsennumero | full_names | sukupuoli | syntymäaika | fyysinen osoite | postiosoite | yhteystieto_ numero | |
---|---|---|---|---|---|---|---|
1 | Janet Jones | Nainen | 21-07-1980 | First Street -tontti nro 4 | Yksityinen laukku | 0759 253 542 | janetjones@yagoo.cm |
2 | Janet Smith Jones | Nainen | 23-06-1980 | Melrose 123 | NULL | NULL | jj@fstreet.com |
3 | Robert Phil | Mies | 12-07-1989 | 3rd Street 34 | NULL | 12345 | rm@tstreet.com |
4 | Gloria Williams | Nainen | 14-02-1984 | 2nd Street 23 | NULL | NULL | NULL |
Yllä oleva kyselymme on palauttanut kaikki jäsentaulukon rivit ja sarakkeet.
Oletetaan, että haluamme vain saada vain full_names-, sukupuoli-, fyysinen_osoite- ja sähköpostikentät. Seuraava käsikirjoitus auttaisi meitä saavuttamaan tämän.
SELECT `full_names`,`gender`,`physical_address`, `email` FROM `members`;
Suoritetaan yllä oleva komentosarja MySQL työpöytä tuottaa seuraavat tulokset.
full_names | sukupuoli | fyysinen osoite | |
---|---|---|---|
Janet Jones | Nainen | First Street -tontti nro 4 | janetjones@yagoo.cm |
Janet Smith Jones | Nainen | Melrose 123 | jj@fstreet.com |
Robert Phil | Mies | 3rd Street 34 | rm@tstreet.com |
Gloria Williams | Nainen | 2nd Street 23 | NULL |
Elokuvaluettelon saaminen
Muista yllä olevassa keskustelussamme, että mainitsemme SELECT-lauseissa käytetyt lausekkeet. Oletetaan, että haluamme saada luettelon elokuvista tietokannastamme. Haluamme, että elokuvan nimi ja elokuvan ohjaajan nimi ovat samassa kentässä. Elokuvaohjaajan nimi tulee olla suluissa. Haluamme myös saada elokuvan julkaisuvuoden. Seuraava käsikirjoitus auttaa meitä tekemään sen.
SELECT Concat(`title`, ' (', `director`, ')') , `year_released` FROM `movies`;
TÄÄLTÄ
- The Concat () MySQL -funktiota käytetään yhdistämään sarakkeiden arvot yhteen.
- Rivi "Concat" (`title`, '(', `director`, ')') saa otsikon, lisää aloitussulun, jota seuraa ohjaajan nimi ja lisää sitten loppusulun.
Merkkijonoosat erotetaan pilkuilla Concat () -funktiossa.
Suoritetaan yllä oleva komentosarja MySQL työpöytä tuottaa seuraavan tulosjoukon.
Concat(`title`, '(', `ohjaaja', ')') | vuosi_vapautettu |
---|---|
Pirates of the Caribean 4 (Rob Marshall) | 2011 |
Sarah Marshalin unohtaminen (Nicholas Stoller) | 2008 |
NULL | 2008 |
Koodinimi Black (Edgar Jimz) | 2010 |
NULL | 2007 |
NULL | 2007 |
NULL | 2007 |
Honey mooners (John Schultz) | 2005 |
NULL | 2012 |
Alias-kenttien nimet
Yllä oleva esimerkki palautti ketjutuskoodin kentän nimeksi tuloksillemme. Oletetaan, että haluamme käyttää kuvaavampaa kentän nimeä tulosjoukossamme. Käytämme sarakkeen aliaksen nimeä saavuttaaksemme sen. Seuraava on sarakkeen aliaksen nimen perussyntaksi
SELECT `column_name|value|expression` [AS] `alias_name`;
TÄÄLTÄ
- "VALITSE ` sarakkeen_nimi|arvo|lauseke `" on tavallinen SELECT-käsky, joka voi olla sarakkeen nimi, arvo tai lauseke.
- "[KUTEN]" on valinnainen avainsana ennen aliaksen nimeä, joka ilmaisee lausekkeen, arvon tai kentän nimi palautetaan muodossa.
- "alias_name" on aliaksen nimi, jonka haluamme palauttaa tulosjoukkoon kentän nimeksi.
Yllä oleva kysely merkityksellisemmällä sarakkeen nimellä
SELECT Concat(`title`, ' (', `director`, ')') AS 'Concat', `year_released` FROM `movies`;
Saamme seuraavan tuloksen
Concat | vuosi_vapautettu |
---|---|
Pirates of the Caribean 4 (Rob Marshall) | 2011 |
Sarah Marshalin unohtaminen (Nicholas Stoller) | 2008 |
NULL | 2008 |
Koodinimi Black (Edgar Jimz) | 2010 |
NULL | 2007 |
NULL | 2007 |
NULL | 2007 |
Honey mooners (John Schultz) | 2005 |
NULL | 2012 |
Haetaan jäsenluettelo, jossa näkyy syntymävuosi
Oletetaan, että haluamme saada luettelon kaikista jäsenistä, joissa näkyy jäsennumero, täydelliset nimet ja syntymävuosi, voimme käyttää LEFT-merkkijonotoimintoa poimimaan syntymävuoden syntymäaikakentästä. Alla oleva käsikirjoitus auttaa meitä tekemään sen.
SELECT `membership_number`,`full_names`,LEFT(`date_of_birth`,4) AS `year_of_birth` FROM members;
TÄÄLTÄ
- "LEFT(`syntymäpäivä`,4)" Ishayoiden opettaman LEFT merkkijonofunktio hyväksyy syntymäajan parametriksi ja palauttaa vain 4 merkkiä vasemmalta.
- "AS `syntymävuosi" on sarakkeen aliaksen nimi joka palautetaan tuloksiimme. Huomaa AS-avainsana on valinnainen, voit jättää sen pois ja kysely toimii edelleen.
Suoritetaan yllä oleva kysely sisään MySQL työpenkki myflixdb:tä vastaan antaa meille alla näkyvät tulokset.
jäsennumero | full_names | syntymävuosi |
---|---|---|
1 | Janet Jones | 1980 |
2 | Janet Smith Jones | 1980 |
3 | Robert Phil | 1989 |
4 | Gloria Williams | 1984 |
SQL:n käyttö MySQL Työpöytä
Aiomme nyt käyttää MySQL työpenkki luodaksesi komentosarjan, joka näyttää kaikki kenttänimet luokkataulukostamme.
1. Napsauta hiiren kakkospainikkeella Kategoriat-taulukkoa. Napsauta "Valitse rivit - raja 1000"
2. MySQL workbench luo automaattisesti SQL-kyselyn ja liittää sen editoriin.
3. Kyselyn tulokset näytetään
Huomaa, että emme kirjoittaneet SELECT-lausetta itse. MySQL työpöytä loi sen meille.
Miksi käyttää SELECT SQL -komentoa, kun meillä on MySQL Työpöytä?
Nyt saatat miettiä, miksi opettele SQL SELECT -komento hakemaan tietoja tietokannasta, kun voit yksinkertaisesti käyttää työkalua, kuten MySQL saada samat tulokset ilman SQL-kielen tuntemusta. Tietysti se on mahdollista, mutta oppia käyttämään SELECT-komentoa antaa sinulle enemmän joustavuus ja ohjaus yli sinun SQL SELECT -lauseet.
MySQL työpöytä kuuluu luokkaan "Kysely esimerkin mukaan”QBE-työkalut. Sen tarkoituksena on auttaa luomaan SQL-lauseita nopeammin käyttäjien tuottavuuden lisäämiseksi.
SQL SELECT -komennon oppiminen voi mahdollistaa luomisen monimutkaiset kyselyt joita ei voida helposti luoda käyttämällä Query by Esimerkki -apuohjelmia, kuten MySQL työpöytä.
Voit parantaa tuottavuuttasi luo koodi käyttämällä MySQL työpöytä sitten räätälöidä se täyttää vaatimukset. Tämä voi tapahtua vain, jos ymmärrät kuinka SQL-käskyt toimivat!
Yhteenveto
- SQL SELECT -avainsanaa käytetään tietojen kyselyyn tietokannasta ja se on yleisimmin käytetty komento.
- Yksinkertaisimmalla lomakkeella on syntaksi "SELECT * FROM tableName;"
- Lausekkeita voidaan käyttää myös select - käskyssä . Esimerkki "VALITSE määrä + hinta myynnistä"
- SQL SELECT -komennolla voi olla myös muita valinnaisia parametreja, kuten WHERE, GROUP BY, HAVING, ORDER BY. Niistä keskustellaan myöhemmin.
- MySQL workbench voi auttaa kehittämään SQL-käskyjä, suorittamaan ne ja tuottamaan tulosteen samassa ikkunassa.