MySQL SELECT-instructie met voorbeelden

Wat is een SELECT-query? MySQL?

SELECT QUERY wordt gebruikt om de gegevens op te halen uit de MySQL database. Databases slaan gegevens op voor later gebruik. Het doel van MySQL Selecteren is om uit de databasetabellen een of meer rijen terug te halen die aan een bepaald criterium voldoen. Selectiequery kan worden gebruikt in scripttaal zoals PHP, Ruby, of u kunt deze uitvoeren via de opdrachtprompt.

SELECT-vraag in MySQL

Syntaxis van SQL SELECT-instructie

Het is de meest gebruikte SQL-opdracht en heeft de volgende algemene syntaxis

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

HIER

  • SELECT is het SQL-trefwoord waarmee de database weet dat u gegevens wilt ophalen.
  • [ONDERSCHEID | ALLE] zijn optionele trefwoorden die kunnen worden gebruikt om de resultaten van de SQL SELECT-instructie te verfijnen. Als er niets is opgegeven, wordt ALL als standaard aangenomen.
  • {*| [veldExpressie [AS nieuweNaam]} er moet minstens één onderdeel worden opgegeven, "*" selecteert alle velden uit de opgegeven tabelnaam, fieldExpression voert enkele berekeningen uit op de opgegeven velden, zoals het optellen van getallen of het samenvoegen van twee tekenreeksvelden tot één.
  • NU tableName is verplicht en moet ten minste één tabel bevatten. Meerdere tabellen moeten worden gescheiden door komma's of moeten worden samengevoegd met het trefwoord JOIN.
  • WAAR condition is optioneel en kan worden gebruikt om criteria op te geven in de resultatenset die door de query wordt geretourneerd.
  • GROEP DOOR wordt gebruikt om records samen te stellen die dezelfde veldwaarden hebben.
  • HEBBEN condition wordt gebruikt om criteria op te geven bij het werken met het trefwoord GROUP BY.
  • BESTELLING DOOR wordt gebruikt om de sorteervolgorde van de resultatenset op te geven.

*

Het stersymbool wordt gebruikt om alle kolommen in de tabel te selecteren. Een voorbeeld van een eenvoudige SELECT-instructie ziet eruit zoals hieronder weergegeven.

SELECT * FROM `members`;

De bovenstaande verklaring selecteert alle velden uit de ledentabel. De puntkomma is een beëindiging van de instructie. Het is niet verplicht, maar het wordt als een goede gewoonte beschouwd om uw uitspraken op deze manier te beëindigen.

Praktische voorbeelden

Klik om te downloaden de myflix DB gebruikt voor praktijkvoorbeelden.

U kunt leren hoe u het .sql-bestand importeert in MySQL Werkbank

De voorbeelden worden uitgevoerd op de volgende twee tabellen

Tabel 1: leden tafel

lidmaatschapsnummer volledige namen geslacht geboortedatum fysiek adres postadres contact_nummer email
1 Janet Jones Vrouwen 21-07-1980 Eerste straatkavel nr. 4 Privé tas 0759 253 542 janetjones@yagoo.cm
2 Janet Smit Jones Vrouwen 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
3 Robert Fil Mannen 12-07-1989 3e Straat 34 NULL 12345 rm@tstreet.com
4 Gloria Williams Vrouwen 14-02-1984 2e Straat 23 NULL NULL NULL

Tabel 2: bioscoop tafel

film_id titel directeur jaar_uitgebracht categorie ID
1 Piraten van het Caribisch gebied 4 Rob Marshall 2011 1
2 Sarah Marshal vergeten Nicholas Stoller 2008 2
3 X-Men NULL 2008 NULL
4 Codenaam Zwart Edgar Jimz 2010 NULL
5 Papa's kleine meisjes NULL 2007 8
6 Engelen en duivels NULL 2007 6
7 Davinci-code NULL 2007 6
9 Honey maanaars John Schulz 2005 8
16 67% Schuldig NULL 2012 NULL

Ledenlijst verkrijgen

Laten we aannemen dat we een lijst van alle geregistreerde bibliotheekleden uit onze database willen halen. We zouden daarvoor het onderstaande script gebruiken.

SELECT * FROM `members`;

Voer het bovenstaande script uit in MySQL workbench produceert de volgende resultaten.

lidmaatschapsnummer volledige namen geslacht geboortedatum fysiek adres postadres contact_nummer email
1 Janet Jones Vrouwen 21-07-1980 Eerste straatkavel nr. 4 Privé tas 0759 253 542 janetjones@yagoo.cm
2 Janet Smit Jones Vrouwen 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
3 Robert Fil Mannen 12-07-1989 3e Straat 34 NULL 12345 rm@tstreet.com
4 Gloria Williams Vrouwen 14-02-1984 2e Straat 23 NULL NULL NULL

Onze bovenstaande zoekopdracht heeft alle rijen en kolommen uit de ledentabel geretourneerd.

Stel dat we alleen geïnteresseerd zijn in het verkrijgen van de velden full_names, gender, physical_address en email. Het volgende script zou ons helpen dit te bereiken.

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

Voer het bovenstaande script uit in MySQL workbench produceert de volgende resultaten.

volledige namen geslacht fysiek adres email
Janet Jones Vrouwen Eerste straatkavel nr. 4 janetjones@yagoo.cm
Janet Smit Jones Vrouwen Melrose 123 jj@fstreet.com
Robert Fil Mannen 3e Straat 34 rm@tstreet.com
Gloria Williams Vrouwen 2e Straat 23 NULL

Filmlijst ophalen

Onthoud dat we in onze bovenstaande discussie uitdrukkingen noemden die gebruikt zijn in SELECT-statements. Stel dat we een lijst met films uit onze database willen halen. We willen de filmtitel en de naam van de filmregisseur in één veld hebben. De naam van de filmregisseur moet tussen haakjes staan. We willen ook het jaar van uitgave van de film. Het volgende script helpt ons daarbij.

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

HIER

  • De concat () MySQL functie wordt gebruikt om de waarden van de kolommen samen te voegen.
  • De regel “Concat (`titel`, '(', `regisseur`, ')') krijgt de titel, voegt een openingshaakje toe, gevolgd door de naam van de regisseur en voegt vervolgens het sluithaakje toe.

Tekenreeksgedeelten worden gescheiden met behulp van komma's in de functie Concat ().

Voer het bovenstaande script uit in MySQL workbench produceert de volgende resultatenset.

Concat(`titel`, ' (', `regisseur`, ')') jaar_uitgebracht
Pirates of the Caribbean 4 (Rob Marshall) 2011
Sarah Marshal (Nicholas Stoller) vergeten 2008
NULL 2008
Codenaam Zwart (Edgar Jimz) 2010
NULL 2007
NULL 2007
NULL 2007
Honey mooners (John Schultz) 2005
NULL 2012

Aliasveldnamen

Het bovenstaande voorbeeld retourneerde de Concatenatiecode als de veldnaam voor onze resultaten. Stel dat we een meer beschrijvende veldnaam in onze resultatenset willen gebruiken. We zouden de kolomaliasnaam gebruiken om dat te bereiken. Hieronder volgt de basissyntaxis voor de kolomaliasnaam

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

HIER

  • “SELECT ` kolomnaam|waarde|expressie `” is de reguliere SELECT-instructie die een kolomnaam, waarde of expressie kan zijn.
  • "[ALS]" is het optionele trefwoord voordat de aliasnaam die de expressie, waarde of veldnaam aangeeft, wordt geretourneerd als.
  • “`alias_naam`” is de aliasnaam die we in onze resultatenset willen retourneren als de veldnaam.

De bovenstaande query met een betekenisvollere kolomnaam

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

We krijgen het volgende resultaat

Conflict jaar_uitgebracht
Pirates of the Caribbean 4 (Rob Marshall) 2011
Sarah Marshal (Nicholas Stoller) vergeten 2008
NULL 2008
Codenaam Zwart (Edgar Jimz) 2010
NULL 2007
NULL 2007
NULL 2007
Honey mooners (John Schultz) 2005
NULL 2012

Ledenlijst ophalen met geboortejaar

Stel dat we een lijst willen van alle leden met het lidmaatschapsnummer, volledige namen en geboortejaar, dan kunnen we de LEFT string-functie gebruiken om het geboortejaar uit het veld geboortedatum te halen. Het onderstaande script helpt ons daarbij.

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

HIER

  • “LINKS(`geboortedatum`,4)” the LINKER snaarfunctie accepteert de geboortedatum als parameter en retourneert slechts 4 tekens van links.
  • “AS `geboortejaar`” is de kolomaliasnaam dat zal worden geretourneerd in onze resultaten. Merk op AS-trefwoord is optioneel, kunt u het weglaten en werkt de query nog steeds.

Voer de bovenstaande query uit in MySQL workbench tegen de myflixdb geeft ons de onderstaande resultaten.

lidmaatschapsnummer volledige namen geboortejaar
1 Janet Jones 1980
2 Janet Smit Jones 1980
3 Robert Fil 1989
4 Gloria Williams 1984

SQL-gebruik MySQL Werkbank

Wij gaan nu gebruiken MySQL workbench om het script te genereren dat alle veldnamen uit onze categorieëntabel weergeeft.

1. Klik met de rechtermuisknop op de categorieëntabel. Klik op “Selecteer rijen – Limiet 1000”

2. MySQL workbench maakt automatisch een SQL-query en plakt deze in de editor.

3. Queryresultaten worden weergegeven

SQL-gebruik MySQL Werkbank

Merk op dat we de SELECT-instructie niet zelf hebben geschreven. MySQL workbench heeft het voor ons gegenereerd.

Waarom de opdracht SELECT SQL gebruiken als we dat al hebben? MySQL Werkbank?

Nu denk je misschien waarom je de SQL SELECT-opdracht zou leren om gegevens uit de database op te vragen als je eenvoudigweg een tool zoals MySQL workbench's om dezelfde resultaten te krijgen zonder kennis van de SQL-taal. Natuurlijk is dat mogelijk, maar leren hoe u het SELECT-commando gebruikt geeft je meer flexibiliteit en onder controle te houden over je SQL SELECT-instructies.

MySQL werkbank valt in de categorie “Vraag per voorbeeldQBE-tools. Het is bedoeld om sneller SQL-instructies te genereren om de gebruikersproductiviteit te verhogen.

Door de SQL SELECT-opdracht te leren, kunt u creëren complexe vragen die niet eenvoudig kunnen worden gegenereerd met behulp van Query by example-hulpprogramma's zoals MySQL werkbank.

Om de productiviteit te verbeteren, kunt u dat doen genereer de code met behulp van MySQL werkbank harte aan te passen het aan aan uw eisen voldoen. Dit kan alleen gebeuren als u begrijpt hoe de SQL-instructies werken!

MySQL SELECT-instructie met voorbeelden

Samenvatting

  • Het SQL SELECT-sleutelwoord wordt gebruikt om gegevens uit de database op te vragen en is de meest gebruikte opdracht.
  • De eenvoudigste vorm heeft de syntaxis “SELECT * FROM tableName;”
  • Expressies kunnen ook worden gebruikt in de select-instructie. Voorbeeld “SELECTEER aantal + prijs UIT Verkoop”
  • De SQL SELECT-opdracht kan ook andere optionele parameters hebben, zoals WHERE, GROUP BY, HAVING, ORDER BY. Deze worden later besproken.
  • MySQL workbench kan helpen bij het ontwikkelen van SQL-instructies, deze uitvoeren en het uitvoerresultaat in hetzelfde venster produceren.