Guida MySQL

Home | Guida MySQL | Art. # 59

MySQL SELECT: lettura dei dati di una tabella

Registrazione Domini
Registrazione Domini Internet ai prezzi più bassi d'Europa: soli 5,40 euro più IVA all'anno!

In questo articolo della Guida MySQL vediamo come effettuare la lettura dei dati di un database attraverso il comando di base SELECT, le cui principali tra le moltissime funzionalità sono oggetto di questo articolo, mentre quelle che definiamo secondarie, ma non meno importanti, saranno oggetto di tutorial a seguire.

Introduciamo dunque in questa sede l'SQL DML, dove DML sta per Data Manipulation Language, ovvero SQL per la manipolazione dei dati di un database.

La sintassi di base del comando SELECT è la seguente:

SELECT * FROM nome_tabella

dove l'asterisco (*) sta per "tutti i campi". Possiamo affermare di aver generato una query, ovvero un'interrogazione al database.

Per leggere solo un campo, o più campi ma non tutti (cosa che si consiglia di fare quando è inutile leggerli tutti, onde non sprecare risorse di sistema), usiamo il nome del campo, o dei campi separati da virgola, al posto dell'asterisco, come nell'esempio che segue:

SELECT primo_campo FROM nome_tabella
SELECT primo_campo, secondo_campo FROM nome_tabella

SELECT dispone di due filtri di ricerca molto importanti, quello condizionale rappresentato dalla clausola WHERE e quello per l'ordinamento, rappresentato dalla clausola ORDER BY.

Vediamo un esempio introduttivo in cui li contempliamo entrambi:

SELECT primo_campo FROM nome_tabella
WHERE
secondo_campo = 'valore_testuale'
ORDER BY
primo_campo ASC

Per ragioni di spazio il codice è rimandato a capo, ma si invita ascriverlo tutto sulla stessa riga.

In una query le condizioni possono essere più di una e possono essere congiunte o disgiunte; a corredo di WHERE, l'SQL mete a disposizione le clausole AND (condizione congiunta) ed OR (condizione disgiunta).

In sostanza la prima clausola verifica, insieme al WHERE, che entrambi le condizioni devono essere vere, mentre la seconda verifica che una sola delle due condizioni dev'essere vera.

Un esempio pratico:

SELECT * FROM utenti WHERE nome = 'Luca' AND anni = 30

La query appena proposta verifica che gli utenti da selezionare si devono chiamare Luca e devono avere 30 anni; se volessimo che gli utenti si debbano chiamare Luca oppure debbano avere 30 anni, scriveremo:

SELECT * FROM utenti WHERE nome = 'Luca' OR anni = 30

Concludiamo parlando dell'ordinamento. I valori supportati da ORDER BY sono ASC e DESC che stanno, rispettivamente, per "ascendente" e "discendente". Per default, se non specificato, l'ordinamento sarà sempre ascendente.

Possiamo effettuare un doppio ordinamento attraverso la seguente sintassi:

... ORDER BY primo_campo ASC, secondo_campo DESC

separando dunque le clausole con la virgola, usando una sola volta la clausola ORDER BY ed usando le modalità di ordinamento a seconda delle proprie esigenze.

 

Scritto in data 01/03/2008

Segnalalo ad un Amico | Aggiungilo ai Preferiti

© 2008 Appunti PHP - A cura di Luca Ruggiero - Partita IVA 05564851219 - Privacy | Pubblicità | Contatti