Homepage -> Guida MySQL

Interrogare il database con le query


Mostrare l'elenco di tutti i campi


select * from Persone;

Di output:


Identificativo Nome Cognome Sesso Data_Nascita
1 Andrea Geili M 23/05/1980
2 Sara Bort F 12/01/2000


Se volessi visualizzare solo un record, ad esempio quello con Identificativo=1, dovrei scrivere:


select * from Persone where Identificativo=1;

Di output:


Identificativo Nome Cognome Sesso Data_Nascita
1 Andrea Geili M 23/05/1980


Se volessi, invece, visualizzare il nome ed il cognome della persona che ha una certa data di nascita, dovrei scrivere:


select Nome,Cognome from Persone where Data_Nascita='23/05/1980';

Di output:


Nome Cognome
Andrea Geili


L'opzione WHERE serve quindi per stabilire i criteri di visualizzazione; gli operatori logici usati sono:


> , < , = , >= , < = , < > , like , and , or , not , between , is null


L'AND , OR , NOT , IS NULL sono operatori booleani, corrispondenti quindi ai valori Sì(continua) / No(esci).
Ecco degli altri esempi:


select * from inventario
  where peso>30 and costo>200;
select * from Persone
  where Nome like 'Andrea';


Identificativo Nome Cognome Sesso Data_Nascita
1 Andrea Geili M 23/05/1980


Il LIKE può assumere come valori anche parole incomplete seguite o precedute dal simbolo % :


select * from Persone
  where Nome like 'A%';


ed ottengo lo stesso risultato di sopra; mi fornisce cioè l'elenco di tutte le persone con nome iniziante con la lettera "A".
Se avessi scritto like '%A' , invece troverebbe tutte le persone di nome terminante con tale lettera.
Se avessi scritto like '%A%' , invece troverebbe tutte le persone il cui nome contenga tale lettera.

La tabella può essere allineata secondo un generico campo, rispettivamente in modo ascendente o discendente, con una semplice select:


select * from Persone order by Identificativo asc;
select * from Persone order by Identificativo desc;


Se volessi cambiare solo nella select i nomi dei campi, dovrei usare l'attributo 'AS'. Nelle select, inoltre, è possibile effettuare delle operazioni, quali + , * e / :


select peso * costo as TOTALE from inventario;


Se volete salvare l'output di una query su un file di testo, usate il seguente codice:


select * from Persone into outfile 'nome_file.txt';


Uso delle funzioni


select count(nome_campo) from nome_tab; effettua la conta dei valori del nome_campo
select sum(nome_campo) as nome_col from nome_tab; effettua la somma dei valori del nome_campo
select avg(nome_campo) as nome_col from nome_tab; effettua la media dei valori del nome_campo
select min(nome_campo) as nome_col from nome_tab; mostra il valore minimo dei valori del nome_campo
select max(nome_campo) as nome_col from nome_tab; mostra il valore massimo dei valori del nome_campo