MySQL SELECT -lauseke esimerkeillä

Sisällysluettelo:

Anonim

Mikä on SELECT-kysely MySQL: ssä?

SELECT QUERY -toimintoa käytetään tietojen hakemiseen MySQL-tietokannasta. Tietokannat tallentavat tietoja myöhempää hakua varten. MySQL Selectin tarkoituksena on palauttaa tietokantataulukoista yksi tai useampi tiettyä kriteeriä vastaava rivi. Valitse kyselyä voidaan käyttää komentosarjakielellä, kuten PHP, Ruby, tai voit suorittaa sen komentokehotteella.

SQL SELECT-lauseen syntakse

Se on yleisimmin käytetty SQL-komento, ja sillä on seuraava yleinen syntakse

SELECT [DISTINCT|ALL ] { * | [fieldExpression [AS newName]} FROM tableName [alias] [WHERE condition][GROUP BY fieldName(s)] [HAVING condition] ORDER BY fieldName(s)
TÄSSÄ
  • SELECT on SQL-avainsana, joka ilmoittaa tietokannalle, että haluat hakea tietoja.
  • [Eristää | ALL] ovat valinnaisia ​​avainsanoja, joiden avulla voidaan hienosäätää SQL SELECT -käskystä palautettuja tuloksia. Jos mitään ei määritetä, oletetaan KAIKKI oletukseksi.
  • {* | [fieldExpression [AS newName]} vähintään yksi osa on määritettävä, "*" on valinnut kaikki kentät määritetystä taulukon nimestä, fieldExpression suorittaa joitain laskelmia määritetyille kentille, kuten lisäämällä numeroita tai yhdistämällä kaksi merkkikenttää yhteen.
  • FROM tableName on pakollinen ja sen on sisällettävä vähintään yksi taulukko, useita taulukoita on erotettava pilkuilla tai liitettävä JOIN-avainsanalla.
  • WHERE ehto on valinnainen, sitä voidaan käyttää määrittämään ehdot kyselystä palautetusta tulosjoukosta.
  • GROUP BY: tä käytetään sellaisten tietueiden kokoamiseen, joilla on samat kenttäarvot.
  • HAVING- ehtoa käytetään määrittämään ehdot, kun työskentelet käyttämällä GROUP BY -avainsanaa.
  • ORDER BY -toimintoa käytetään määrittämään tulosjoukon lajittelujärjestys.

*

Tähtisymbolia käytetään kaikkien taulukon sarakkeiden valitsemiseen. Esimerkki yksinkertaisesta SELECT-lauseesta näyttää alla olevalta.

SELECT * FROM `members`;

Yllä oleva lause valitsee kaikki kentät jäsentaulukosta. Puolipiste on lauseke, joka päättyy. Se ei ole pakollista, mutta sitä pidetään hyvänä tapana lopettaa lausuntosi tuolla tavalla.

Käytännön esimerkkejä

Napsauta ladataksesi käytännön esimerkkeihin käytetty myflix DB.

Voit oppia tuomaan .sql-tiedoston MySQL WorkBenchiin

Esimerkit suoritetaan seuraavissa kahdessa taulukossa

Taulukko 1: Jäsenten taulukko

jäsennumero koko_nimet sukupuoli syntymäaika fyysinen osoite postiosoite cont_ numero sähköposti
1 Janet Jones Nainen 21-07-1980 Ensimmäisen kadun tontti nro 4 Yksityinen laukku 0759 253542 Tämä sähköpostiosoite on suojattu spamboteilta. Tarvitset JavaScriptin käyttääksesi sitä.
2 Janet Smith Jones Nainen 23-06-1980 Melrose 123 TYHJÄ TYHJÄ Tämä sähköpostiosoite on suojattu spamboteilta. Tarvitset JavaScriptin käyttääksesi sitä.
3 Robert Phil Uros 12-07-1989 3. katu 34 TYHJÄ 12345 Tämä sähköpostiosoite on suojattu spamboteilta. Tarvitset JavaScriptin käyttääksesi sitä.
4 Gloria Williams Nainen 14-02-1984 2. katu 23 TYHJÄ TYHJÄ TYHJÄ

Taulukko 2: elokuvia pöytä

movie_id otsikko johtaja vuosi_julkaistu category_id
1 Karibian merirosvot 4 Rob Marshall 2011 1
2 Unohdetaan Sarah marsalkka Nicholas Stoller 2008 2
3 X mies TYHJÄ 2008 TYHJÄ
4 Koodinimi Musta Edgar Jimz 2010 TYHJÄ
5 Isän pienet tytöt TYHJÄ 2007 8
6 enkelit ja demonit TYHJÄ 2007 6
7 Davinci-koodi TYHJÄ 2007 6
9 Honey mooners John Schultz 2005 8
16 67% syyllinen TYHJÄ 2012 TYHJÄ

Haetaan jäsenten luetteloa

Oletetaan, että haluamme saada luettelon kaikista rekisteröidyistä kirjaston jäsenistä tietokannastamme, käytämme siihen alla esitettyä komentosarjaa.

SELECT * FROM `members`;

Yllä olevan komentosarjan suorittaminen MySQL-työpöydällä tuottaa seuraavat tulokset.

jäsennumero koko_nimet sukupuoli syntymäaika fyysinen osoite postiosoite cont_ numero sähköposti
1 Janet Jones Nainen 21-07-1980 Ensimmäisen kadun tontti nro 4 Yksityinen laukku 0759 253542 Tämä sähköpostiosoite on suojattu spamboteilta. Tarvitset JavaScriptin käyttääksesi sitä.
2 Janet Smith Jones Nainen 23-06-1980 Melrose 123 TYHJÄ TYHJÄ Tämä sähköpostiosoite on suojattu spamboteilta. Tarvitset JavaScriptin käyttääksesi sitä.
3 Robert Phil Uros 12-07-1989 3. katu 34 TYHJÄ 12345 Tämä sähköpostiosoite on suojattu spamboteilta. Tarvitset JavaScriptin käyttääksesi sitä.
4 Gloria Williams Nainen 14-02-1984 2. katu 23 TYHJÄ TYHJÄ TYHJÄ

Yllä oleva kysely on palauttanut kaikki jäsentaulukon rivit ja sarakkeet.

Oletetaan, että olemme kiinnostuneita saamaan vain täydelliset_nimet, sukupuoli, fyysinen_osoite ja sähköposti-kentät. Seuraava kirjoitus auttaisi meitä saavuttamaan tämän.

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

Yllä olevan komentosarjan suorittaminen MySQL-työpöydällä tuottaa seuraavat tulokset.

koko_nimet sukupuoli fyysinen osoite sähköposti
Janet Jones Nainen Ensimmäisen kadun tontti nro 4 Tämä sähköpostiosoite on suojattu spamboteilta. Tarvitset JavaScriptin käyttääksesi sitä.
Janet Smith Jones Nainen Melrose 123 Tämä sähköpostiosoite on suojattu spamboteilta. Tarvitset JavaScriptin käyttääksesi sitä.
Robert Phil Uros 3. katu 34 Tämä sähköpostiosoite on suojattu spamboteilta. Tarvitset JavaScriptin käyttääksesi sitä.
Gloria Williams Nainen 2. katu 23 TYHJÄ

Haetaan elokuvalistausta

Muista yllä olevassa keskustelussamme, että mainitsemme SELECT-lauseissa käytettyjä lausekkeita. Oletetaan, että haluamme saada luettelon elokuvista tietokannastamme. Haluamme, että elokuvan nimi ja ohjaajan nimi ovat yhdessä kentässä. Elokuvan ohjaajan nimen tulee olla sulkeissa. Haluamme myös saada vuoden, jolloin elokuva julkaistiin. Seuraava komentosarja auttaa meitä tekemään sen.

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

TÄSSÄ

  • Concat () MySQL -funktiota käytetään yhdistämään sarakkeiden arvot.
  • Rivi "Concat (" otsikko "," ("," ohjaaja ",") ") saa otsikon, lisää alkuhakemiston, jota seuraa ohjaajan nimi, ja lisää sitten sulku.

Merkkijono-osat erotetaan pilkulla Concat () -toiminnossa.

Yllä olevan komentosarjan suorittaminen MySQL-työpöydällä tuottaa seuraavan tulosjoukon.

Concat (`` otsikko '', '(', `ohjaaja`, ')') vuosi_julkaistu
Karibian merirosvot 4 (Rob Marshall) 2011
Sarah Marshalin (Nicholas Stoller) unohtaminen 2008
TYHJÄ 2008
Koodinimi Musta (Edgar Jimz) 2010
TYHJÄ 2007
TYHJÄ 2007
TYHJÄ 2007
Honey mooners (John Schultz) 2005
TYHJÄ 2012

Alias-kenttien nimet

Yllä oleva esimerkki palautti ketjutuskoodin tulosten kentän nimeksi. Oletetaan, että haluamme käyttää kuvaavampaa kentän nimeä tulosjoukossa. Tätä varten käytämme sarakkeen aliaksenimeä. Seuraava on sarakkeen aliaksen nimen perussyntaksi

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

TÄSSÄ

  • "SELECT" sarakkeen_nimi | arvo | lauseke " on säännöllinen SELECT-käsky, joka voi olla sarakkeen nimi, arvo tai lauseke.
  • "[AS]" on valinnainen avainsana, ennen kuin lauseketta, arvoa tai kentän nimeä osoittava aliaksen nimi palautetaan muodossa.
  • "alias_name" on aliaksen nimi, jonka haluamme palauttaa tulosjoukossa kentän nimellä.

Yllä oleva kysely, jolla on merkityksellisempi sarakkeen nimi

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

Saamme seuraavan tuloksen

Concat vuosi_julkaistu
Karibian merirosvot 4 (Rob Marshall) 2011
Sarah Marshalin (Nicholas Stoller) unohtaminen 2008
TYHJÄ 2008
Koodinimi Musta (Edgar Jimz) 2010
TYHJÄ 2007
TYHJÄ 2007
TYHJÄ 2007
Honey mooners (John Schultz) 2005
TYHJÄ 2012

Haetaan jäseniä, jotka näyttävät syntymävuoden

Oletetaan, että haluamme saada luettelon kaikista jäsenistä, joissa näkyy jäsenmäärä, täydelliset nimet ja syntymävuosi. Voimme käyttää VASEN merkkijonofunktiota poimimaan syntymävuosi syntymäpäivä-kentästä. Alla esitetty komentosarja auttaa meitä tekemään sen.

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

TÄSSÄ

  • "LEFT (` date_of_birth`, 4)" LEFT merkkijono hyväksyy syntymäaika parametrin ja palauttaa vain 4 merkkiä vasemmalta.
  • "AS" year_of_birth "" on sarakkeen aliaksen nimi , joka palautetaan tuloksissamme. Huomaa, että AS-avainsana on valinnainen , voit jättää sen pois ja kysely toimii edelleen.

Yllä olevan kyselyn suorittaminen MySQL-työpöydällä myflixdb: tä vastaan ​​antaa meille alla esitetyt tulokset.

jäsennumero koko_nimet syntymävuosi
1 Janet Jones 1980
2 Janet Smith Jones 1980
3 Robert Phil 1989
4 Gloria Williams 1984

SQL käyttäen MySQL Workbenchiä

Aiomme nyt käyttää MySQL-työpöytää luomaan komentosarjan, joka näyttää kaikki kenttänimet luokkataulukostamme.

1. Napsauta hiiren kakkospainikkeella Luokat-taulukkoa. Napsauta "Valitse rivit - raja 1000"

2. MySQL-työpöytä luo automaattisesti SQL-kyselyn ja liittää sen editoriin.

3. Kyselytulokset näytetään

Huomaa, että emme kirjoittaneet SELECT-lauseketta itse. MySQL-työpöytä loi sen meille.

Miksi kannattaa käyttää SELECT SQL -komentoa, kun meillä on MySQL Workbench?

Nyt saatat ajatella, miksi opit SQL SELECT -komennon kyselemään tietoja tietokannasta, kun voit yksinkertaisesti käyttää MySQL-työpöydän kaltaista työkalua saadaksesi samat tulokset tietämättä SQL-kieltä. Se on tietysti mahdollista, mutta oppia käyttämään SELECT komento antaa enemmän joustavuutta ja valvontaa yli SQL SELECT .

MySQL-työpöytä kuuluu QBE-työkalujen " Kysely esimerkillä " luokkaan . Sen tarkoituksena on auttaa luomaan SQL-käskyjä nopeammin käyttäjän tuottavuuden lisäämiseksi.

SQL SELECT -komennon oppiminen voi auttaa luomaan monimutkaisia ​​kyselyjä , joita ei voi helposti luoda käyttämällä Query by Example -apuohjelmia, kuten MySQL-työpöytä.

Tuottavuuden parantamiseksi voit luoda koodin MySQL-työpöydällä ja mukauttaa sen sitten vastaamaan tarpeitasi . Tämä voi tapahtua vain, jos ymmärrät SQL-lauseiden toiminnan!

Yhteenveto

  • SQL SELECT-avainsanaa käytetään tietojen kyselyyn tietokannasta ja se on yleisimmin käytetty komento.
  • Yksinkertaisimmalla lomakkeella on syntaksin "SELECT * FROM tableName;"
  • Lausekkeita voidaan käyttää myös select-lauseessa. 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-työpöytä voi auttaa kehittämään SQL-käskyjä, suorittamaan ne ja tuottamaan tuloksen samassa ikkunassa.