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ă.
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 | |
---|---|---|---|---|---|---|---|
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 | |
---|---|---|---|---|---|---|---|
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ă | |
---|---|---|---|
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
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!
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ă.