MySQL VELG erklæring med eksempler

Hva er SELECT-søk i MySQL?

SELECT QUERY brukes til å hente dataene fra MySQL database. Databaser lagrer data for senere henting. Hensikten med MySQL Velg er å returnere fra databasetabellene, en eller flere rader som samsvarer med et gitt kriterium. Velg spørring kan brukes i skriptspråk som PHP, Ruby, eller du kan utføre det via ledeteksten.

VELG forespørsel i MySQL

SQL SELECT-setningssyntaks

Det er den mest brukte SQL-kommandoen og har følgende generelle syntaks

SELECT [DISTINCT|ALL ] { * | [fieldExpression [AS newName]} FROM tableName [alias] [WHERE condition][GROUP BY fieldName(s)]  [HAVING condition] ORDER BY fieldName(s)

HER

  • VELG er SQL-nøkkelordet som lar databasen vite at du ønsker å hente data.
  • [DISTINKT | ALLE] er valgfrie nøkkelord som kan brukes til å finjustere resultatene som returneres fra SQL SELECT-setningen. Hvis ingenting er spesifisert, antas ALL som standard.
  • {*| [fieldExpression [AS newName]} minst én del må spesifiseres, "*" valgte alle feltene fra det angitte tabellnavnet, fieldExpression utfører noen beregninger på de spesifiserte feltene, for eksempel å legge til tall eller sette sammen to strengfelt til ett.
  • FRA tableName er obligatorisk og må inneholde minst én tabell, flere tabeller må skilles med komma eller slås sammen med JOIN-nøkkelordet.
  • HVOR betingelse er valgfri, den kan brukes til å spesifisere kriterier i resultatsettet som returneres fra spørringen.
  • GRUPPE AV brukes til å sette sammen poster som har samme feltverdier.
  • HAR condition brukes til å spesifisere kriterier når du arbeider med nøkkelordet GROUP BY.
  • REKKEFØLGE ETTER brukes til å spesifisere sorteringsrekkefølgen til resultatsettet.

*

Stjernesymbolet brukes til å velge alle kolonnene i tabellen. Et eksempel på en enkel SELECT-setning ser ut som den vist nedenfor.

SELECT * FROM `members`;

Utsagnet ovenfor velger alle feltene fra medlemstabellen. Semikolon er en terminate. Det er ikke obligatorisk, men anses som en god praksis å avslutte uttalelsene dine slik.

Praktiske eksempler

Klikk for å laste ned myflix DB som brukes til praktiske eksempler.

Du kan lære å importere .sql-filen til MySQL arbeidsbenk

Eksemplene er utført på de følgende to tabellene

Tabell 1: medlemmer bord

medlemsnummer fulle_navn kjønn fødselsdato fysisk_ adresse postadresse kontakt_nummer emalje
1 Janet Jones Hunn 21-07-1980 First Street tomt nr. 4 Privat bag 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jones Hunn 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
3 Robert Phil mann 12-07-1989 3rd Street 34 NULL 12345 rm@tstreet.com
4 Gloria Williams Hunn 14-02-1984 2nd Street 23 NULL NULL NULL

Tabell 2: filmer bord

movie_id tittel direktør år_utgitt kategori_id
1 Pirates of the Caribean 4 Rob Marshall 2011 1
2 Glemte Sarah Marshal Nicholas barnevogn 2008 2
3 X-Men NULL 2008 NULL
4 Kode Navn Svart Edgar Jimz 2010 NULL
5 Pappas småjenter NULL 2007 8
6 engler og demoner NULL 2007 6
7 Davinci-koden NULL 2007 6
9 Honey måner John Schultz 2005 8
16 67 % skyldig NULL 2012 NULL

Få medlemsoppføring

La oss anta at vi ønsker å få en liste over alle de registrerte bibliotekmedlemmene fra databasen vår, vi vil bruke skriptet vist nedenfor for å gjøre det.

SELECT * FROM `members`;

Utfører skriptet ovenfor i MySQL arbeidsbenken gir følgende resultater.

medlemsnummer fulle_navn kjønn fødselsdato fysisk_ adresse postadresse kontakt_nummer emalje
1 Janet Jones Hunn 21-07-1980 First Street tomt nr. 4 Privat bag 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jones Hunn 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
3 Robert Phil mann 12-07-1989 3rd Street 34 NULL 12345 rm@tstreet.com
4 Gloria Williams Hunn 14-02-1984 2nd Street 23 NULL NULL NULL

Spørringen ovenfor har returnert alle radene og kolonnene fra medlemstabellen.

La oss si at vi bare er interessert i å kun få full_navn, kjønn, fysisk_adresse og e-postfelt. Følgende skript vil hjelpe oss å oppnå dette.

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

Utfører skriptet ovenfor i MySQL arbeidsbenken gir følgende resultater.

fulle_navn kjønn fysisk_adresse emalje
Janet Jones Hunn First Street tomt nr. 4 janetjones@yagoo.cm
Janet Smith Jones Hunn Melrose 123 jj@fstreet.com
Robert Phil mann 3rd Street 34 rm@tstreet.com
Gloria Williams Hunn 2nd Street 23 NULL

Får filmoversikt

Husk i diskusjonen ovenfor at vi nevner uttrykk som er brukt i SELECT-utsagn. La oss si at vi ønsker å få en liste over filmer fra databasen vår. Vi ønsker å ha filmtittelen og navnet på filmregissøren i ett felt. Navnet på filmregissøren skal stå i parentes. Vi ønsker også å få året da filmen ble utgitt. Følgende skript hjelper oss å gjøre det.

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

HER

  • The Concat () MySQL funksjon brukes slå sammen kolonneverdiene.
  • Linjen "Concat (`tittel`, ' (', `regissør`, ')') får tittelen, legger til en åpningsparentes etterfulgt av navnet på regissøren og legger til den avsluttende parentesen.

Strengdeler skilles ved hjelp av kommaer i Concat ()-funksjonen.

Utfører skriptet ovenfor i MySQL arbeidsbenken produserer følgende resultatsett.

Concat(`tittel`, '(', `regissør`, ')') år_utgitt
Pirates of the Caribean 4 (Rob Marshall) 2011
Å glemme Sarah Marshal (Nicholas Stoller) 2008
NULL 2008
Kodenavn Svart (Edgar Jimz) 2010
NULL 2007
NULL 2007
NULL 2007
Honey mooners (John Schultz) 2005
NULL 2012

Alias ​​feltnavn

Eksemplet ovenfor returnerte sammenkoblingskoden som feltnavnet for resultatene våre. Anta at vi ønsker å bruke et mer beskrivende feltnavn i resultatsettet vårt. Vi vil bruke kolonnealiasnavnet for å oppnå det. Følgende er den grunnleggende syntaksen for kolonnealiasnavnet

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

HER

  • "VELG ` kolonnenavn|verdi|uttrykk `" er den vanlige SELECT-setningen som kan være et kolonnenavn, verdi eller uttrykk.
  • "[SOM]" er det valgfrie nøkkelordet før aliasnavnet som angir uttrykket, verdien eller feltnavnet vil bli returnert som.
  • «alias_name» er aliasnavnet som vi ønsker å returnere i vårt resultatsett som feltnavn.

Spørringen ovenfor med et mer meningsfylt kolonnenavn

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

Vi får følgende resultat

Concat år_utgitt
Pirates of the Caribean 4 (Rob Marshall) 2011
Å glemme Sarah Marshal (Nicholas Stoller) 2008
NULL 2008
Kodenavn Svart (Edgar Jimz) 2010
NULL 2007
NULL 2007
NULL 2007
Honey mooners (John Schultz) 2005
NULL 2012

Få medlemsoppføring som viser fødselsår

Anta at vi ønsker å få en liste over alle medlemmene som viser medlemsnummer, fullt navn og fødselsår, kan vi bruke VENSTRE strengfunksjon for å trekke ut fødselsåret fra fødselsdatofeltet. Skriptet som vises nedenfor hjelper oss å gjøre det.

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

HER

  • “VENSTRE(`fødselsdato`,4)” de VENSTRE strengfunksjon godtar fødselsdatoen som parameter og returnerer bare 4 tegn fra venstre.
  • «SOM «fødselsår»» er den kolonnealiasnavn som vil bli returnert i våre resultater. Legg merke til AS-nøkkelord er valgfritt, kan du utelate det, og spørringen vil fortsatt fungere.

Utfører spørringen ovenfor i MySQL arbeidsbenk mot myflixdb gir oss resultatene vist nedenfor.

medlemsnummer fulle_navn fødselsår
1 Janet Jones 1980
2 Janet Smith Jones 1980
3 Robert Phil 1989
4 Gloria Williams 1984

SQL ved hjelp av MySQL Workbench

Vi skal nå bruke MySQL arbeidsbenk for å generere skriptet som viser alle feltnavnene fra kategoritabellen vår.

1. Høyreklikk på kategoritabellen. Klikk på "Velg rader - Begrens 1000"

2. MySQL workbench vil automatisk opprette en SQL-spørring og lime inn i editoren.

3. Søkeresultater vises

SQL ved hjelp av MySQL Workbench

Legg merke til at vi ikke skrev SELECT-setningen selv. MySQL arbeidsbenken genererte det for oss.

Hvorfor bruke SELECT SQL-kommandoen når vi har MySQL Arbeidsbenk?

Nå tenker du kanskje hvorfor lære SQL SELECT-kommandoen for å spørre etter data fra databasen når du ganske enkelt kan bruke et verktøy som f.eks. MySQL workbench's for å få de samme resultatene uten kunnskap om SQL-språket. Selvfølgelig er det mulig, men lære hvordan du bruker SELECT-kommandoen gir deg mer fleksibilitet og kontroll over din SQL SELECT-setninger.

MySQL arbeidsbenk faller i kategorien "Forespørsel etter eksempel” QBE-verktøy. Den er ment å bidra til å generere SQL-setninger raskere for å øke brukerproduktiviteten.

Å lære SQL SELECT-kommandoen kan gjøre det mulig for deg å lage komplekse spørsmål som ikke enkelt kan genereres ved hjelp av Query by Example-verktøy som f.eks MySQL arbeidsbenk.

For å forbedre produktiviteten kan du generere koden ved hjelp av MySQL arbeidsbenk deretter tilpasse det også oppfylle dine krav. Dette kan bare skje hvis du forstår hvordan SQL-setningene fungerer!

MySQL VELG erklæring med eksempler

Oppsummering

  • SQL SELECT-nøkkelordet brukes til å søke etter data fra databasen, og det er den mest brukte kommandoen.
  • Den enkleste formen har syntaksen "SELECT * FROM tableName;"
  • Uttrykk kan også brukes i select-setningen. Eksempel "VELG mengde + pris FRA salg"
  • SQL SELECT-kommandoen kan også ha andre valgfrie parametere som WHERE, GROUP BY, HAVING, ORDER BY. De vil bli diskutert senere.
  • MySQL workbench kan hjelpe med å utvikle SQL-setninger, utføre dem og produsere utdataresultatet i samme vindu.