MySQL Instrucțiunea SELECT cu exemple

În ce este interogarea SELECT MySQL?

SELECT QUERY este folosit pentru a prelua datele din MySQL baza de date. Bazele de date stochează date pentru recuperarea ulterioară. Scopul MySQL Selectare este de a reveni din tabelele bazei de date, unul sau mai multe rânduri care corespund unui anumit criteriu. Selectați interogarea poate fi folosită în limbajul de scripting precum PHP, Ruby sau o puteți executa prin promptul de comandă.

interogarea SELECT în MySQL

Sintaxa instrucțiunii SQL SELECT

Este cea mai des folosită comandă SQL și are următoarea sintaxă generală

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

AICI

  • SELECT este cuvântul cheie SQL care informează baza de date că doriți să preluați date.
  • [DIstinct | TOATE] sunt cuvinte cheie opționale care pot fi folosite pentru a ajusta rezultatele returnate din instrucțiunea SQL SELECT. Dacă nu este specificat nimic, atunci ALL este considerat implicit.
  • {*| [fieldExpression [AS newName]} trebuie specificată cel puțin o parte, „*” a selectat toate câmpurile din numele tabelului specificat, fieldExpression efectuează unele calcule pe câmpurile specificate, cum ar fi adăugarea de numere sau adunarea a două câmpuri de șir într-unul singur.
  • DIN tableName este obligatoriu și trebuie să conțină cel puțin un tabel, mai multe tabele trebuie separate prin virgule sau unite folosind cuvântul cheie JOIN.
  • UNDE condiția este opțională, poate fi folosită pentru a specifica criterii în setul de rezultate returnat din interogare.
  • A SE GRUPA CU este folosit pentru a pune împreună înregistrări care au aceleași valori de câmp.
  • AVÂND condiția este utilizată pentru a specifica criteriile atunci când se lucrează folosind cuvântul cheie GROUP BY.
  • COMANDA DE este folosit pentru a specifica ordinea de sortare a setului de rezultate.

*

Simbolul Steaua este folosit pentru a selecta toate coloanele din tabel. Un exemplu de instrucțiune simplă SELECT arată ca cel prezentat mai jos.

SELECT * FROM `members`;

Declarația de mai sus selectează toate câmpurile din tabelul de membri. Punctul și virgulă este o instrucțiune terminată. Nu este obligatoriu, dar este considerat o bună practică să-ți închei afirmațiile astfel.

Exemple practice

Faceți clic pentru a descărca myflix DB folosit pentru exemple practice.

Puteți învăța să importați fișierul .sql în MySQL Banc de lucru

Exemplele sunt realizate pe următoarele două tabele

Tabelul 1: membrii tabel

numar de membru nume complete sex data nașterii adresă fizică adresa postala contct_ număr e-mail
1 Janet Jones Femeie 21-07-1980 Primul teren stradal nr. 4 Geantă privată 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jones Femeie 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
3 Robert Phil Masculin 12-07-1989 Strada a 3-a 34 NULL 12345 rm@tstreet.com
4 Gloria Williams Femeie 14-02-1984 Strada 2 23 NULL NULL NULL

Tabelul 2: filme tabel

movie_id titlu director year_released categorie_id
1 Piratii din Caraibe 4 Rob Marshall 2011 1
2 Uitând-o pe Sarah Marshal Nicolae Stoller 2008 2
3 X-Men NULL 2008 NULL
4 Nume de cod Negru Edgar Jimz 2010 NULL
5 Fetițele lui Tati NULL 2007 8
6 ingeri si Demoni NULL 2007 6
7 Codul Davinci NULL 2007 6
9 Honey lunari John Schultz 2005 8
16 67% vinovat NULL 2012 NULL

Obținerea unei liste de membri

Să presupunem că vrem să obținem o listă cu toți membrii bibliotecii înregistrați din baza noastră de date, vom folosi scriptul prezentat mai jos pentru a face asta.

SELECT * FROM `members`;

Executarea scriptului de mai sus în MySQL workbench produce următoarele rezultate.

numar de membru nume complete sex data nașterii adresă fizică adresa postala contct_ număr e-mail
1 Janet Jones Femeie 21-07-1980 Primul teren stradal nr. 4 Geantă privată 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jones Femeie 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
3 Robert Phil Masculin 12-07-1989 Strada a 3-a 34 NULL 12345 rm@tstreet.com
4 Gloria Williams Femeie 14-02-1984 Strada 2 23 NULL NULL NULL

Interogarea noastră de mai sus a returnat toate rândurile și coloanele din tabelul de membri.

Să presupunem că suntem interesați doar să obținem numai câmpurile nume_complete, sex, adresa_fizică și e-mail. Următorul script ne-ar ajuta să realizăm acest lucru.

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

Executarea scriptului de mai sus în MySQL workbench produce următoarele rezultate.

nume complete sex adresă fizică e-mail
Janet Jones Femeie Primul teren stradal nr. 4 janetjones@yagoo.cm
Janet Smith Jones Femeie Melrose 123 jj@fstreet.com
Robert Phil Masculin Strada a 3-a 34 rm@tstreet.com
Gloria Williams Femeie Strada 2 23 NULL

Obținerea unei liste de filme

Amintiți-vă în discuția noastră de mai sus că menționăm expresiile folosite în instrucțiunile SELECT. Să presupunem că vrem să obținem o listă de filme din baza noastră de date. Vrem să avem titlul filmului și numele regizorului filmului într-un câmp. Numele regizorului de film ar trebui să fie între paranteze. De asemenea, vrem să obținem anul în care filmul a fost lansat. Următorul script ne ajută să facem asta.

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

AICI

  • Concatul () MySQL funcția este utilizată uniți valorile coloanelor.
  • Linia „Concat (`titlu`, '(', `director`, ')') primește titlul, adaugă o paranteză de deschidere urmată de numele directorului, apoi adaugă paranteza de închidere.

Porțiunile șirurilor sunt separate prin virgule în funcția Concat ().

Executarea scriptului de mai sus în MySQL workbench produce următorul set de rezultate.

Concat(`titlu`, '(', `director`, ')') year_released
Piratii din Caraibe 4 ( Rob Marshall) 2011
Uitând-o pe Sarah Marshal (Nicholas Stoller) 2008
NULL 2008
Nume de cod Negru (Edgar Jimz) 2010
NULL 2007
NULL 2007
NULL 2007
Honey mooners (John Schultz) 2005
NULL 2012

Nume de câmpuri alias

Exemplul de mai sus a returnat codul de concatenare ca nume de câmp pentru rezultatele noastre. Să presupunem că dorim să folosim un nume de câmp mai descriptiv în setul nostru de rezultate. Am folosi numele alias al coloanei pentru a realiza acest lucru. Următoarea este sintaxa de bază pentru numele aliasului coloanei

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

AICI

  • „SELECT ` nume_coloană|valoare|expresie `” este instrucțiunea SELECT obișnuită care poate fi un nume de coloană, o valoare sau o expresie.
  • "[LA FEL DE]" este cuvântul cheie opțional înainte ca numele aliasului care denotă expresia, valoarea sau numele câmpului va fi returnat ca.
  • „`alias_name`” este numele alias pe care dorim să-l returnăm în setul nostru de rezultate ca nume de câmp.

Interogarea de mai sus cu un nume de coloană mai semnificativ

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

Obținem următorul rezultat

Concat year_released
Piratii din Caraibe 4 ( Rob Marshall) 2011
Uitând-o pe Sarah Marshal (Nicholas Stoller) 2008
NULL 2008
Nume de cod Negru (Edgar Jimz) 2010
NULL 2007
NULL 2007
NULL 2007
Honey mooners (John Schultz) 2005
NULL 2012

Obținerea unei liste de membri care arată anul nașterii

Să presupunem că vrem să obținem o listă a tuturor membrilor care arată numărul de membru, numele complete și anul nașterii, putem folosi funcția șir LEFT pentru a extrage anul nașterii din câmpul pentru data nașterii. Scriptul prezentat mai jos ne ajută să facem asta.

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

AICI

  • „STÂNGA(`data_nașterii`,4)” il Funcția șir STÂNGA acceptă data nașterii ca parametru și returnează doar 4 caractere din stânga.
  • „AS `an_nașterii`” este numele alias al coloanei care va fi returnat în rezultatele noastre. Rețineți că Cuvântul cheie AS este opțional, îl puteți omite și interogarea va funcționa în continuare.

Executarea interogării de mai sus în MySQL Workbench împotriva myflixdb ne oferă rezultatele prezentate mai jos.

numar de membru nume complete anul nașterii
1 Janet Jones 1980
2 Janet Smith Jones 1980
3 Robert Phil 1989
4 Gloria Williams 1984

SQL folosind MySQL Banc de lucru

Acum vom folosi MySQL workbench pentru a genera scriptul care va afișa toate numele câmpurilor din tabelul nostru de categorii.

1. Faceți clic dreapta pe Tabelul de categorii. Faceți clic pe „Selectare rânduri – Limită 1000”

2. MySQL workbench va crea automat o interogare SQL și va lipi în editor.

3. Rezultatele interogării vor fi afișate

SQL folosind MySQL Banc de lucru

Observați că nu am scris singuri instrucțiunea SELECT. MySQL Workbench a generat-o pentru noi.

De ce să folosim comanda SELECT SQL când avem MySQL Banc de lucru?

Acum, s-ar putea să vă gândiți de ce să învățați comanda SQL SELECT pentru a interoga datele din baza de date când puteți utiliza pur și simplu un instrument precum MySQL bancul de lucru pentru a obține aceleași rezultate fără cunoașterea limbajului SQL. Desigur că este posibil, dar invata cum sa folosesti comanda SELECT iti ofera mai mult flexibilitate si Control peste dvs. Instrucțiuni SQL SELECT.

MySQL bancul de lucru se încadrează în categoria „Interogare prin exemplu” Instrumente QBE. Este destinat să ajute la generarea de instrucțiuni SQL mai rapid pentru a crește productivitatea utilizatorului.

Învățarea comenzii SQL SELECT vă poate permite să creați interogări complexe care nu pot fi generate cu ușurință folosind utilitarele Interogare după exemplu, cum ar fi MySQL Banc de lucru.

Pentru a îmbunătăți productivitatea, puteți genera codul folosind MySQL banc de lucru apoi personaliza l satisface cerințele dumneavoastră. Acest lucru se poate întâmpla numai dacă înțelegeți cum funcționează instrucțiunile SQL!

MySQL Instrucțiunea SELECT cu exemple

Rezumat

  • Cuvântul cheie SQL SELECT este folosit pentru a interoga datele din baza de date și este cea mai frecvent utilizată comandă.
  • Cea mai simplă formă are sintaxa „SELECT * FROM tableName;”
  • Expresiile pot fi folosite și în instrucțiunea select. Exemplu „SELECTARE cantitate + preț din vânzări”
  • Comanda SQL SELECT poate avea și alți parametri opționali precum WHERE, GROUP BY, HAVING, ORDER BY. Ele vor fi discutate mai târziu.
  • MySQL Workbench poate ajuta la dezvoltarea instrucțiunilor SQL, la executarea lor și la producerea rezultatului de ieșire în aceeași fereastră.