MySQL VÄLJ uttalande med exempel

Vad är SELECT-frågan i MySQL?

SELECT QUERY används för att hämta data från MySQL databas. Databaser lagrar data för senare hämtning. Syftet med MySQL Välj är att returnera från databastabellerna, en eller flera rader som matchar ett givet kriterium. Välj fråga kan användas i skriptspråk som PHP, Ruby, eller så kan du köra den via kommandotolken.

VÄLJ fråga i MySQL

SQL SELECT-satssyntax

Det är det vanligaste SQL-kommandot och har följande allmänna syntax

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

HÄR

  • VÄLJA är SQL-nyckelordet som låter databasen veta att du vill hämta data.
  • [DISTINKT | ALLT] är valfria nyckelord som kan användas för att finjustera resultaten som returneras från SQL SELECT-satsen. Om inget anges antas ALL som standard.
  • {*| [fieldExpression [AS newName]} minst en del måste anges, "*" har markerat alla fält från det angivna tabellnamnet, fieldExpression utför vissa beräkningar på de angivna fälten som att lägga till tal eller sätta ihop två strängfält till ett.
  • FRÅN tableName är obligatoriskt och måste innehålla minst en tabell, flera tabeller måste separeras med kommatecken eller sammanfogas med nyckelordet JOIN.
  • VAR condition är valfritt, det kan användas för att ange kriterier i resultatuppsättningen som returneras från frågan.
  • GRUPP AV används för att sätta ihop poster som har samma fältvärden.
  • HAR condition används för att ange kriterier när man arbetar med nyckelordet GROUP BY.
  • SORTERA EFTER används för att ange sorteringsordningen för resultatuppsättningen.

*

Stjärnsymbolen används för att välja alla kolumner i tabellen. Ett exempel på en enkel SELECT-sats ser ut som den som visas nedan.

SELECT * FROM `members`;

Ovanstående uttalande väljer alla fält från medlemstabellen. Semikolonet är ett uttalande terminate. Det är inte obligatoriskt men anses vara en bra praxis att avsluta dina uttalanden så.

Praktiska exempel

Klicka för att ladda ner myflix DB som används för praktiska exempel.

Du kan lära dig att importera .sql-filen till MySQL Arbetsbänk

Exemplen utförs på följande två tabeller

Tabell 1: medlemmar bord

medlemsnummer Fullständiga namn kön födelsedatum fysisk adress postadress kontakt_nummer e-mail
1 Janet Jones Kvinna 21-07-1980 First Street Tomt nr 4 Privat väska 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jones Kvinna 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
3 Robert Phil man 12-07-1989 3rd Street 34 NULL 12345 rm@tstreet.com
4 Gloria Williams Kvinna 14-02-1984 2nd Street 23 NULL NULL NULL

Tabell 2: filmer bord

movie_id rubricerade direktör year_released kategori_id
1 Pirates of the Caribean 4 Rob Marshall 2011 1
2 Att glömma Sarah Marshal Nicholas Stoller 2008 2
3 X-Män NULL 2008 NULL
4 Kod Namn Svart Edgar Jimz 2010 NULL
5 Pappas små flickor NULL 2007 8
6 Änglar och demoner NULL 2007 6
7 Davinci-koden NULL 2007 6
9 Honey månare John Schultz 2005 8
16 67 % skyldig NULL 2012 NULL

Få medlemsförteckning

Låt oss anta att vi vill få en lista över alla registrerade biblioteksmedlemmar från vår databas, vi skulle använda skriptet som visas nedan för att göra det.

SELECT * FROM `members`;

Exekvera skriptet ovan i MySQL arbetsbänk ger följande resultat.

medlemsnummer Fullständiga namn kön födelsedatum fysisk adress postadress kontakt_nummer e-mail
1 Janet Jones Kvinna 21-07-1980 First Street Tomt nr 4 Privat väska 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jones Kvinna 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
3 Robert Phil man 12-07-1989 3rd Street 34 NULL 12345 rm@tstreet.com
4 Gloria Williams Kvinna 14-02-1984 2nd Street 23 NULL NULL NULL

Vår fråga ovan har returnerat alla rader och kolumner från medlemstabellen.

Låt oss säga att vi bara är intresserade av att bara få fälten fullständiga_namn, kön, fysisk_adress och e-post. Följande manus skulle hjälpa oss att uppnå detta.

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

Exekvera skriptet ovan i MySQL arbetsbänk ger följande resultat.

Fullständiga namn kön fysisk adress e-mail
Janet Jones Kvinna First Street Tomt nr 4 janetjones@yagoo.cm
Janet Smith Jones Kvinna Melrose 123 jj@fstreet.com
Robert Phil man 3rd Street 34 rm@tstreet.com
Gloria Williams Kvinna 2nd Street 23 NULL

Hämtar filmer

Kom ihåg i vår diskussion ovan att vi nämner uttryck som använts i SELECT-satser. Låt oss säga att vi vill få en lista över filmer från vår databas. Vi vill ha filmens titel och namnet på filmregissören i ett fält. Filmregissörens namn ska stå inom parentes. Vi vill också få det år då filmen släpptes. Följande skript hjälper oss att göra det.

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

HÄR

  • The Concat () MySQL funktionen används koppla samman kolumnvärdena.
  • Raden “Concat (`titel`, ' (', `regissör`, ')') får titeln, lägger till en inledande parentes följt av namnet på regissören och lägger sedan till den avslutande parentesen.

Strängdelar separeras med kommatecken i Concat ()-funktionen.

Exekvera skriptet ovan i MySQL workbench ger följande resultatuppsättning.

Concat(`titel`, '(', `direktör`, ')') year_released
Pirates of the Caribean 4 (Rob Marshall) 2011
Att glömma Sarah Marshal (Nicholas Stoller) 2008
NULL 2008
Kodnamn Svart (Edgar Jimz) 2010
NULL 2007
NULL 2007
NULL 2007
Honey mooners (John Schultz) 2005
NULL 2012

Alias ​​fältnamn

Ovanstående exempel returnerade sammanlänkningskoden som fältnamnet för våra resultat. Anta att vi vill använda ett mer beskrivande fältnamn i vår resultatuppsättning. Vi skulle använda kolumnaliasnamnet för att uppnå det. Följande är den grundläggande syntaxen för kolumnaliasnamnet

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

HÄR

  • "VÄLJ ` kolumnnamn|värde|uttryck `" är den vanliga SELECT-satsen som kan vara ett kolumnnamn, värde eller uttryck.
  • "[SOM]" är det valfria nyckelordet före aliasnamnet som anger uttrycket, värdet eller fältnamnet kommer att returneras som.
  • "alias_name" är aliasnamnet som vi vill returnera i vår resultatuppsättning som fältnamn.

Ovanstående fråga med ett mer meningsfullt kolumnnamn

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

Vi får följande resultat

Concat year_released
Pirates of the Caribean 4 (Rob Marshall) 2011
Att glömma Sarah Marshal (Nicholas Stoller) 2008
NULL 2008
Kodnamn Svart (Edgar Jimz) 2010
NULL 2007
NULL 2007
NULL 2007
Honey mooners (John Schultz) 2005
NULL 2012

Få medlemslista som visar födelseår

Anta att vi vill få en lista över alla medlemmar som visar medlemsnummer, fullständiga namn och födelseår, så kan vi använda LEFT string-funktionen för att extrahera födelseåret från födelsedatumfältet. Skriptet som visas nedan hjälper oss att göra det.

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

HÄR

  • "LEFT(`födelsedatum`,4)" d VÄNSTER strängfunktion accepterar födelsedatumet som parameter och returnerar endast 4 tecken från vänster.
  • "SOM `födelseår`" är kolumn alias namn som kommer att returneras i våra resultat. Notera AS-nyckelord är valfritt, kan du utelämna det och frågan kommer fortfarande att fungera.

Utför ovanstående fråga i MySQL arbetsbänk mot myflixdb ger oss resultaten som visas nedan.

medlemsnummer Fullständiga namn födelseår
1 Janet Jones 1980
2 Janet Smith Jones 1980
3 Robert Phil 1989
4 Gloria Williams 1984

SQL använder MySQL Arbetsbänk

Vi ska nu använda MySQL arbetsbänk för att generera skriptet som visar alla fältnamn från vår kategoritabell.

1. Högerklicka på kategoritabellen. Klicka på "Välj rader - Begränsa 1000"

2. MySQL workbench kommer automatiskt att skapa en SQL-fråga och klistra in i editorn.

3. Frågeresultat kommer att visas

SQL använder MySQL Arbetsbänk

Lägg märke till att vi inte skrev SELECT-satsen själva. MySQL arbetsbänken genererade det åt oss.

Varför använda kommandot SELECT SQL när vi har MySQL Arbetsbänk?

Nu kanske du tänker varför lära dig SQL SELECT-kommandot för att fråga data från databasen när du helt enkelt kan använda ett verktyg som t.ex. MySQL workbench's för att få samma resultat utan kunskap om SQL-språket. Visst är det möjligt, men lära sig hur man använder kommandot SELECT ger dig mer flexibilitet och kontroll över din SQL SELECT-satser.

MySQL arbetsbänk faller i kategorin "Fråga efter exempel” QBE-verktyg. Det är avsett att hjälpa till att generera SQL-satser snabbare för att öka användarens produktivitet.

Genom att lära dig SQL SELECT-kommandot kan du skapa komplexa frågor som inte enkelt kan genereras med hjälp av Query by Example-verktyg som t.ex MySQL arbetsbänk.

För att förbättra produktiviteten kan du generera koden med hjälp av MySQL arbetsbänk sedan skräddarsy den till uppfylla dina krav. Detta kan bara hända om du förstår hur SQL-satserna fungerar!

MySQL VÄLJ uttalande med exempel

Sammanfattning

  • Nyckelordet SQL SELECT används för att söka efter data från databasen och det är det vanligaste kommandot.
  • Den enklaste formen har syntaxen "SELECT * FROM tableName;"
  • Uttryck kan också användas i select-satsen. Exempel "VÄLJ kvantitet + pris FRÅN Försäljning"
  • SQL SELECT-kommandot kan också ha andra valfria parametrar som WHERE, GROUP BY, HAVING, ORDER BY. De kommer att diskuteras senare.
  • MySQL workbench kan hjälpa till att utveckla SQL-satser, exekvera dem och producera resultatet i samma fönster.