MySQL VÆLG erklæring med eksempler

Hvad er SELECT-forespørgsel i MySQL?

SELECT QUERY bruges til at hente data fra MySQL database. Databaser gemmer data til senere hentning. Formålet med MySQL Vælg er at returnere fra databasetabellerne en eller flere rækker, der matcher et givet kriterium. Vælg forespørgsel kan bruges i scriptsprog som PHP, Ruby, eller du kan udføre den via kommandoprompten.

VÆLG forespørgsel i MySQL

SQL SELECT-sætningssyntaks

Det er den mest brugte SQL-kommando 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

  • SELECT er det SQL-nøgleord, der lader databasen vide, at du vil hente data.
  • [SÆRLIGE | ALLE] er valgfri nøgleord, der kan bruges til at finjustere de resultater, der returneres fra SQL SELECT-sætningen. Hvis intet er angivet, antages ALLE som standard.
  • {*| [fieldExpression [AS newName]} mindst én del skal angives, "*" valgte alle felterne fra det angivne tabelnavn, fieldExpression udfører nogle beregninger på de angivne felter, såsom at tilføje tal eller sætte to strengfelter sammen til ét.
  • FRA tableName er obligatorisk og skal indeholde mindst én tabel, flere tabeller skal adskilles ved hjælp af kommaer eller forbindes ved hjælp af JOIN nøgleordet.
  • HVOR betingelse er valgfri, den kan bruges til at angive kriterier i resultatsættet, der returneres fra forespørgslen.
  • GROUP BY bruges til at sammensætte poster, der har de samme feltværdier.
  • SOM betingelse bruges til at angive kriterier, når der arbejdes med nøgleordet GROUP BY.
  • BESTIL BY bruges til at angive sorteringsrækkefølgen for resultatsættet.

*

Stjernesymbolet bruges til at vælge alle kolonnerne i tabellen. Et eksempel på en simpel SELECT-sætning ser ud som den, der er vist nedenfor.

SELECT * FROM `members`;

Ovenstående sætning vælger alle felterne fra medlemstabellen. Semikolon er en erklæring terminate. Det er ikke obligatorisk, men betragtes som en god praksis at afslutte dine udtalelser sådan.

Praktiske eksempler

Klik for at downloade myflix DB brugt til praktiske eksempler.

Du kan lære at importere .sql-filen til MySQL Arbejdsbænk

Eksemplerne er udført på de følgende to tabeller

Tabel 1: medlemmer bord

medlemsnummer fulde_navne køn fødselsdato fysisk adresse postadresse kontakt_nummer e-mail
1 Janet Jones Kvinde 21-07-1980 First Street Plot nr. 4 Privat taske 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jones Kvinde 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
3 Robert Phil Mand 12-07-1989 3rd Street 34 NULL 12345 rm@tstreet.com
4 Gloria Williams Kvinde 14-02-1984 2nd Street 23 NULL NULL NULL

Tabel 2: film bord

film_id titel direktør år_udgivet kategori_id
1 Pirates of the Caribean 4 Rob Marshall 2011 1
2 Glemte Sarah Marshal Nicholas Stoller 2008 2
3 X-Men NULL 2008 NULL
4 Kode Navn Sort Edgar Jimz 2010 NULL
5 Daddy's Little Girls NULL 2007 8
6 Engle og dæmoner NULL 2007 6
7 Davinci-koden NULL 2007 6
9 Honey måner John Schultz 2005 8
16 67 % skyldig NULL 2012 NULL

Få medlemsliste

Lad os antage, at vi ønsker at få en liste over alle de registrerede biblioteksmedlemmer fra vores database, vi ville bruge scriptet vist nedenfor til at gøre det.

SELECT * FROM `members`;

Udførelse af ovenstående script i MySQL workbench giver følgende resultater.

medlemsnummer fulde_navne køn fødselsdato fysisk adresse postadresse kontakt_nummer e-mail
1 Janet Jones Kvinde 21-07-1980 First Street Plot nr. 4 Privat taske 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jones Kvinde 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
3 Robert Phil Mand 12-07-1989 3rd Street 34 NULL 12345 rm@tstreet.com
4 Gloria Williams Kvinde 14-02-1984 2nd Street 23 NULL NULL NULL

Vores ovenstående forespørgsel har returneret alle rækker og kolonner fra medlemstabellen.

Lad os sige, at vi kun er interesserede i kun at få felterne fulde_navne, køn, fysisk_adresse og e-mail. Følgende script vil hjælpe os med at opnå dette.

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

Udførelse af ovenstående script i MySQL workbench giver følgende resultater.

fulde_navne køn fysisk adresse e-mail
Janet Jones Kvinde First Street Plot nr. 4 janetjones@yagoo.cm
Janet Smith Jones Kvinde Melrose 123 jj@fstreet.com
Robert Phil Mand 3rd Street 34 rm@tstreet.com
Gloria Williams Kvinde 2nd Street 23 NULL

Hent filmoversigt

Husk i vores ovenstående diskussion, at vi nævner udtryk, der er blevet brugt i SELECT-sætninger. Lad os sige, at vi ønsker at få en liste over film fra vores database. Vi ønsker at have filmtitlen og navnet på filminstruktøren i ét felt. Filminstruktørens navn skal stå i parentes. Vi ønsker også at få det år, hvor filmen blev udgivet. Følgende script hjælper os med at gøre det.

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

HER

  • The Concat () MySQL funktion bruges sammenføj kolonneværdierne.
  • Linjen "Concat (`titel`, '(', `instruktør`, ')') får titlen, tilføjer en indledende parentes efterfulgt af navnet på instruktøren og tilføjer derefter den afsluttende parentes.

Strengdele adskilles ved hjælp af kommaer i funktionen Concat ().

Udførelse af ovenstående script i MySQL workbench producerer følgende resultatsæt.

Concat(`title`, '(', `instruktør`, ')') år_udgivet
Pirates of the Caribean 4 (Rob Marshall) 2011
At glemme Sarah Marshal (Nicholas Stoller) 2008
NULL 2008
Kodenavn Sort (Edgar Jimz) 2010
NULL 2007
NULL 2007
NULL 2007
Honey mooners (John Schultz) 2005
NULL 2012

Alias ​​feltnavne

Ovenstående eksempel returnerede sammenkædningskoden som feltnavnet for vores resultater. Antag, at vi vil bruge et mere beskrivende feltnavn i vores resultatsæt. Vi ville bruge kolonnealiasnavnet for at opnå det. Det følgende er den grundlæggende syntaks for kolonnealiasnavnet

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

HER

  • "VÆLG ` kolonnenavn|værdi|udtryk `" er den almindelige SELECT-sætning, som kan være et kolonnenavn, en værdi eller et udtryk.
  • "[SOM]" er det valgfri nøgleord før aliasnavnet, der angiver udtrykket, vil værdien eller feltnavnet blive returneret som.
  • "`alias_navn`" er aliasnavnet, som vi ønsker at returnere i vores resultatsæt som feltnavnet.

Ovenstående forespørgsel med et mere meningsfuldt kolonnenavn

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

Vi får følgende resultat

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

Får medlemsliste, der viser fødselsåret

Antag, at vi ønsker at få en liste over alle medlemmer, der viser medlemsnummer, fulde navne og fødselsår, kan vi bruge LEFT string-funktionen til at udtrække fødselsåret fra fødselsdatofeltet. Scriptet vist nedenfor hjælper os med at gøre det.

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

HER

  • "LEFT(`fødselsdato`,4)" og VENSTRE streng funktion accepterer fødselsdatoen som parameter og returnerer kun 4 tegn fra venstre.
  • "SOM `fødselsår`" er kolonne alias navn som vil blive returneret i vores resultater. Bemærk AS nøgleord er valgfrit, kan du udelade det, og forespørgslen vil stadig fungere.

Udførelse af ovenstående forespørgsel i MySQL workbench mod myflixdb giver os resultaterne vist nedenfor.

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

SQL ved hjælp af MySQL Workbench

Vi skal nu bruge MySQL workbench for at generere scriptet, der viser alle feltnavnene fra vores kategoritabel.

1. Højreklik på kategoritabellen. Klik på "Vælg rækker - Begræns 1000"

2. MySQL workbench vil automatisk oprette en SQL-forespørgsel og indsætte i editoren.

3. Forespørgselsresultater vises

SQL ved hjælp af MySQL Workbench

Bemærk, at vi ikke selv skrev SELECT-sætningen. MySQL workbench genererede det til os.

Hvorfor bruge SELECT SQL-kommandoen, når vi har MySQL Arbejdsbord?

Nu tænker du måske, hvorfor lære SQL SELECT-kommandoen til at forespørge data fra databasen, når du blot kan bruge et værktøj som f.eks. MySQL workbench's for at få de samme resultater uden kendskab til SQL-sproget. Det er selvfølgelig muligt, men lære at bruge SELECT-kommandoen giver dig mere fleksibilitet og kontrol over din SQL SELECT-sætninger.

MySQL arbejdsbord falder i kategorien "Forespørgsel efter eksempel” QBE værktøjer. Det er beregnet til at hjælpe med at generere SQL-sætninger hurtigere for at øge brugerens produktivitet.

At lære SQL SELECT-kommandoen kan gøre det muligt for dig at oprette komplekse forespørgsler som ikke nemt kan genereres ved hjælp af Query by Example-værktøjer som f.eks MySQL arbejdsbord.

For at forbedre produktiviteten kan du generere koden vha MySQL arbejdsbord derefter tilpasse det til opfylde dine krav. Dette kan kun ske, hvis du forstår, hvordan SQL-sætningerne fungerer!

MySQL VÆLG erklæring med eksempler

Resumé

  • SQL SELECT nøgleordet bruges til at forespørge data fra databasen, og det er den mest brugte kommando.
  • Den enkleste form har syntaksen "SELECT * FROM tableName;"
  • Udtryk kan også bruges i select-sætningen. Eksempel "VÆLG mængde + pris FRA salg"
  • SQL SELECT-kommandoen kan også have andre valgfrie parametre såsom WHERE, GROUP BY, HAVING, ORDER BY. De vil blive diskuteret senere.
  • MySQL workbench kan hjælpe med at udvikle SQL-sætninger, eksekvere dem og producere outputresultatet i samme vindue.