MySQL Istruzione SELECT con esempi
In cosa consiste la query SELECT MySQL?
SELECT QUERY viene utilizzato per recuperare i dati da MySQL database. I database memorizzano i dati per un recupero successivo. Lo scopo di MySQL Selezionare consiste nel restituire dalle tabelle del database, una o più righe che corrispondono a un determinato criterio. La query di selezione può essere utilizzata in un linguaggio di scripting come PHP, Ruby oppure è possibile eseguirla tramite il prompt dei comandi.
Sintassi dell'istruzione SQL SELECT
È il comando SQL più frequentemente utilizzato e ha la seguente sintassi generale
SELECT [DISTINCT|ALL ] { * | [fieldExpression [AS newName]} FROM tableName [alias] [WHERE condition][GROUP BY fieldName(s)] [HAVING condition] ORDER BY fieldName(s)
QUI
- SELEZIONA è la parola chiave SQL che consente al database di sapere che desideri recuperare i dati.
- [DISTINTO | TUTTO] sono parole chiave facoltative che possono essere utilizzate per ottimizzare i risultati restituiti dall'istruzione SQL SELECT. Se non viene specificato nulla, viene assunto ALL come impostazione predefinita.
- {*| [fieldExpression [AS newName]} deve essere specificata almeno una parte, "*" ha selezionato tutti i campi dal nome della tabella specificata, fieldExpression esegue alcuni calcoli sui campi specificati come l'aggiunta di numeri o l'unione di due campi stringa in uno solo.
- DA tableName è obbligatorio e deve contenere almeno una tabella, più tabelle devono essere separate tramite virgole o unite utilizzando la parola chiave JOIN.
- DOVE La condizione è facoltativa e può essere utilizzata per specificare i criteri nel set di risultati restituito dalla query.
- RAGGRUPPA PER viene utilizzato per mettere insieme i record che hanno gli stessi valori di campo.
- VISTA La condizione viene utilizzata per specificare i criteri quando si utilizza la parola chiave GROUP BY.
- ORDINATO DA viene utilizzato per specificare l'ordinamento del set di risultati.
*
Il simbolo Stella viene utilizzato per selezionare tutte le colonne della tabella. Un esempio di una semplice istruzione SELECT è simile a quello mostrato di seguito.
SELECT * FROM `members`;
L'istruzione precedente seleziona tutti i campi dalla tabella dei membri. Il punto e virgola è un'istruzione terminata. Non è obbligatorio ma è considerata una buona pratica terminare le tue affermazioni in questo modo.
Esempi pratici
Clicca per scaricare il DB myflix utilizzato per esempi pratici.
Puoi imparare a importare il file .sql in MySQL Banco di lavoro
Gli esempi vengono eseguiti sulle due tabelle seguenti
Tabella 1: Persone tavolo
| numero_iscrizione | nomi_completi | genere | data di nascita | indirizzo fisico | indirizzo postale | contatto_numero | |
|---|---|---|---|---|---|---|---|
| 1 | Janet Jones | Femmina | 21-07-1980 | Primo lotto di strada n. 4 | Borsa privata | 0759 253 542 | janetjones@yagoo.cm |
| 2 | Janet Smith Jones | Femmina | 23-06-1980 | Melrose 123 | NULL | NULL | jj@fstreet.com |
| 3 | Roberto Fil | Maschio | 12-07-1989 | 3a strada 34 | NULL | 12345 | rm@tstreet.com |
| 4 | Gloria Williams | Femmina | 14-02-1984 | 2a strada 23 | NULL | NULL | NULL |
Tabella 2: film tavolo
| id_film | titolo | direttore | anno_rilasciato | categoria_id |
|---|---|---|---|---|
| 1 | Pirati dei Caraibi 4 | Rob Marshall | 2011 | 1 |
| 2 | Dimenticando Sarah Marshal | Nicholas Stoller | 2008 | 2 |
| 3 | X-Men | NULL | 2008 | NULL |
| 4 | Nome in codice Nero | Edgar Jimz | 2010 | NULL |
| 5 | Le bambine di papà | NULL | 2007 | 8 |
| 6 | Angeli e Demoni | NULL | 2007 | 6 |
| 7 | Codice Davinci | NULL | 2007 | 6 |
| 9 | Honey lunari | John Schutz | 2005 | 8 |
| 16 | 67% colpevole | NULL | 2012 | NULL |
Ottenere l'elenco dei membri
Supponiamo di voler ottenere un elenco di tutti i membri della biblioteca registrati dal nostro database, per farlo utilizzeremo lo script mostrato di seguito.
SELECT * FROM `members`;
Eseguendo lo script precedente in MySQL workbench produce i seguenti risultati.
| numero_iscrizione | nomi_completi | genere | data di nascita | indirizzo fisico | indirizzo postale | contatto_numero | |
|---|---|---|---|---|---|---|---|
| 1 | Janet Jones | Femmina | 21-07-1980 | Primo lotto di strada n. 4 | Borsa privata | 0759 253 542 | janetjones@yagoo.cm |
| 2 | Janet Smith Jones | Femmina | 23-06-1980 | Melrose 123 | NULL | NULL | jj@fstreet.com |
| 3 | Roberto Fil | Maschio | 12-07-1989 | 3a strada 34 | NULL | 12345 | rm@tstreet.com |
| 4 | Gloria Williams | Femmina | 14-02-1984 | 2a strada 23 | NULL | NULL | NULL |
La nostra query precedente ha restituito tutte le righe e le colonne dalla tabella dei membri.
Diciamo che siamo interessati solo a ottenere i campi full_names, gender, physical_address ed email. Il seguente script ci aiuterebbe a raggiungere questo obiettivo.
SELECT `full_names`,`gender`,`physical_address`, `email` FROM `members`;
Eseguendo lo script precedente in MySQL workbench produce i seguenti risultati.
| nomi_completi | genere | indirizzo fisico | |
|---|---|---|---|
| Janet Jones | Femmina | Primo lotto di strada n. 4 | janetjones@yagoo.cm |
| Janet Smith Jones | Femmina | Melrose 123 | jj@fstreet.com |
| Roberto Fil | Maschio | 3a strada 34 | rm@tstreet.com |
| Gloria Williams | Femmina | 2a strada 23 | NULL |
Ottenere l'elenco dei film
Ricordate che nella nostra discussione precedente abbiamo menzionato le espressioni utilizzate nelle istruzioni SELECT. Diciamo che vogliamo ottenere un elenco di film dal nostro database. Vogliamo avere il titolo del film e il nome del regista in un campo. Il nome del regista dovrebbe essere tra parentesi. Vogliamo anche ottenere l'anno di uscita del film. Il seguente script ci aiuta a farlo.
SELECT Concat(`title`, ' (', `director`, ')') , `year_released` FROM `movies`;
QUI
- Il Concat () MySQL viene utilizzata la funzione per unire insieme i valori delle colonne.
- La riga “Concat (`title`, ' (', `director`, ')') ottiene il titolo, aggiunge una parentesi di apertura seguita dal nome del regista, quindi aggiunge la parentesi di chiusura.
Le porzioni di stringa vengono separate utilizzando virgole nella funzione Concat ().
Eseguendo lo script precedente in MySQL workbench produce il seguente set di risultati.
| Concat(`titolo`, ' (', `direttore`, ')') | anno_rilasciato |
|---|---|
| Pirati dei Caraibi 4 (Rob Marshall) | 2011 |
| Dimenticando Sarah Marshal (Nicholas Stoller) | 2008 |
| NULL | 2008 |
| Nome in codice Nero (Edgar Jimz) | 2010 |
| NULL | 2007 |
| NULL | 2007 |
| NULL | 2007 |
| Honey lunari (John Schultz) | 2005 |
| NULL | 2012 |
Nomi dei campi alias
L'esempio precedente ha restituito il codice Concatenation come nome di campo per i nostri risultati. Supponiamo di voler usare un nome di campo più descrittivo nel nostro set di risultati. Per ottenere ciò, useremmo il nome alias di colonna. Di seguito è riportata la sintassi di base per il nome alias di colonna
SELECT `column_name|value|expression` [AS] `alias_name`;
QUI
- "SELECT ` nome_colonna|valore|espressione `" è l'istruzione SELECT regolare che può essere un nome di colonna, un valore o un'espressione.
- "[COME]" è la parola chiave facoltativa prima del nome alias che denota l'espressione, il valore o il nome del campo con cui verrà restituito.
- “`nome_alias`” è il nome alias che vogliamo restituire nel nostro set di risultati come nome del campo.
La query precedente con un nome di colonna più significativo
SELECT Concat(`title`, ' (', `director`, ')') AS 'Concat', `year_released` FROM `movies`;
Otteniamo il seguente risultato
| Concat | anno_rilasciato |
|---|---|
| Pirati dei Caraibi 4 (Rob Marshall) | 2011 |
| Dimenticando Sarah Marshal (Nicholas Stoller) | 2008 |
| NULL | 2008 |
| Nome in codice Nero (Edgar Jimz) | 2010 |
| NULL | 2007 |
| NULL | 2007 |
| NULL | 2007 |
| Honey lunari (John Schultz) | 2005 |
| NULL | 2012 |
Ottenere l'elenco dei membri che mostra l'anno di nascita
Supponiamo di voler ottenere un elenco di tutti i membri che mostra il numero di iscrizione, i nomi completi e l'anno di nascita, possiamo usare la funzione stringa LEFT per estrarre l'anno di nascita dal campo data di nascita. Lo script mostrato di seguito ci aiuta a farlo.
SELECT `membership_number`,`full_names`,LEFT(`date_of_birth`,4) AS `year_of_birth` FROM members;
QUI
- “SINISTRA(`data_di_nascita`,4)” , il Funzione stringa SINISTRA accetta la data di nascita come parametro e restituisce solo 4 caratteri da sinistra.
- “COME `anno_di_nascita`” Europe è nome alias della colonna che verrà restituito nei nostri risultati. Notare la La parola chiave AS è facoltativa, puoi tralasciarlo e la query continuerà a funzionare.
Eseguendo la query precedente in MySQL workbench contro myflixdb ci fornisce i risultati mostrati di seguito.
| numero_iscrizione | nomi_completi | anno di nascita |
|---|---|---|
| 1 | Janet Jones | 1980 |
| 2 | Janet Smith Jones | 1980 |
| 3 | Roberto Fil | 1989 |
| 4 | Gloria Williams | 1984 |
SQL utilizzando MySQL banco di lavoro
Ora useremo MySQL workbench per generare lo script che visualizzerà tutti i nomi dei campi dalla nostra tabella delle categorie.
1. Fare clic con il tasto destro sulla tabella delle categorie. Fare clic su “Seleziona righe – Limite 1000”
2. MySQL workbench creerà automaticamente una query SQL e la incollerà nell'editor.
3. Verranno visualizzati i risultati della query
Si noti che non abbiamo scritto noi stessi l'istruzione SELECT. MySQL workbench lo ha generato per noi.
Perché utilizzare il comando SELECT SQL quando abbiamo MySQL Banco di lavoro?
Ora, potresti pensare perché imparare il comando SQL SELECT per interrogare i dati dal database quando puoi semplicemente utilizzare uno strumento come MySQL workbench per ottenere gli stessi risultati senza la conoscenza del linguaggio SQL. Certo che è possibile, ma imparare a usare il comando SELECT ti dà di più flessibilità e di controllo sopra il tuo Istruzioni SQL SELECT.
MySQL il banco da lavoro rientra nella categoria “Interrogazione per esempio“Strumenti QBE. Ha lo scopo di aiutare a generare istruzioni SQL più velocemente per aumentare la produttività dell'utente.
Imparare il comando SQL SELECT può consentirti di creare interrogazioni complesse che non può essere facilmente generato utilizzando le utilità Query by example come MySQL banco di lavoro.
Per migliorare la produttività puoi generare il codice utilizzando MySQL banco di lavoro poi personalizzare ad soddisfare le vostre esigenze. Questo può accadere solo se capisci come funzionano le istruzioni SQL!
Sintesi
- La parola chiave SQL SELECT viene utilizzata per interrogare i dati dal database ed è il comando più comunemente utilizzato.
- La forma più semplice ha la sintassi “SELECT * FROM tableName;”
- Le espressioni possono essere utilizzate anche nell'istruzione select. Esempio “SELEZIONA quantità + prezzo DA Vendite”
- Il comando SQL SELECT può avere anche altri parametri opzionali come WHERE, GROUP BY, HAVING, ORDER BY. Saranno discussi più avanti.
- MySQL workbench può aiutare a sviluppare istruzioni SQL, eseguirle e produrre il risultato di output nella stessa finestra.



