Risorse per webmaster

L A   C O M U N I T À   V I R T U A L E   I T A L I A N A   P E R   W E B   M A S T E R S

 
 
      Tecnologie
      HTML
      CSS
      DHTML
      FLASH
      ASP
      PHP
      JSP
      PERL
      XML
      SMIL
      WIRELESS
      PALMARI
      APACHE
      MYSQL
      PICOSQL
 
      Grafica
 
      Servizi
 
      Raccolte
 
      Recensioni
 
      Analisi
 
      Disclaimer

   Per tutti
 
  .: Magazine
  .: Editor
  .: Appunti
  .: Gratis
  .: Scripts
  .: Components
 
   Home page

Partner
Comunicati stampa
Proposte di viaggio
Prenotazione hotel
Prenota vacanze
Accessori palmari
Cerca alberghi
Guide turistiche

versione stampabile Mostra una versione adatta per la stampa  

Livello di difficoltà:Livello di difficoltà: medio  
MySQL è il database open source per eccellenza. Cresciuto molto in questi anni, è diventato il DBMS più utilizzato dalla comunità open source e apprezzato anche da chi scrive pagine con tecnologie diverse da PHP e su server diversi da Linux.
 

SQL di base

MySQL
SQL, acronimo di Structured Query Language, è un linguaggio utilizzato per manipolare database.
MySQL sfrutta proprio SQL per interagire con gli utenti, attraverso dei comandi comunemente chiamati query.
Una query permette di "parlare" al database e consente di effettuare operazioni sul suo contenuto o sulla sua struttura.

Per selezionare i campi di un database, si usa il termine SELECT. Ammettiamo di dover estrarre il contenuto da tutti i campi di una tabella di nome "clienti", faremo:

SELECT * FROM clienti;

L'asterisco ( * ) ci consente di richiamare i campi senza specificare tutti i loro nomi. Il termine FROM permette di identificare il nome della tabella dalla quale estrapolare i dati. Se volessimo invece estrarre un solo campo, è inutile estrarli tutti e potremmo quindi usare il nome specifico, ad esempio:

SELECT ordini FROM clienti;

Se i campi fossero più di uno, è necessario separare i vari valori con una virgola ( , ) ad esempio:

SELECT ordini, citta, fatture FROM clienti;

Affinare la query: la clausola WHERE
Può essere necessario specificare meglio una query in modo tale da avere un risultato vicino alle nostre esigenze. Ad esempio, potremmo voler estrarre solo i nomi dei clienti della città di Milano, ecco come fare:

SELECT nome FROM clienti WHERE citta = 'milano';

In questo modo, avremo come risultato solo i nomi dei clienti che hanno sede a Milano.

Più in profondità: AND e OR
Facendo riferimento all'esempio di prima, potremmo richiedere i nomi dei clienti che hanno sede a Milano e hanno effettuato più di 10 ordini. Ecco come:

SELECT nome FROM clienti WHERE citta = 'milano' AND ordini <= 10;

Con la query sopra specificata, avremo sottomano i clienti di Milano con un numero di ordini maggiore o uguale a 10. Il termine AND può essere tranquillamente sostituito da due e commerciali ( && ).

Il termine OR, permette di creare un'alternativa. Ad esempio, se volessimo estrarre i clienti con sede a Milano oppure a Napoli, faremo:

SELECT nome FROM clienti WHERE citta = 'milano' OR citta = 'napoli';

Il termine OR può essere sostituito dalle due barre verticali ( || ).

Ordiniamo i dati: ORDER BY
Per ordinare l'estrazione di una tabella, si può usare ORDER BY, applicandolo magari assieme ai termini ASC (di default) e DESC.

Vediamo un esempio:

SELECT * FROM clienti ORDER BY ordini DESC;

In questo modo avremo i clienti estratti secondo il numero di ordini effettuati. Con DESC specifichiamo dal numero più alto a quello più basso.
Al contrario, ASC ordina dal numero più basso al più alto ed è di default.

ASC e DESC funzionano anche con campi diversi dai campi di tipo INT o simili. In caso di campi di stringhe (TEXT, VARCHAR ecc.) seguiranno l'ordine alfabetico:
ASC dalla A alla Z.
DESC il contrario, dalla Z alla A.

Quindi, tornando all'esempio precedente, per avere i nomi delle aziende clienti in ordine alfabetico, faremo:

SELECT * FROM clienti ORDER BY nome ASC;

ORDER BY multipli
Si possono ordinare i campi anche in base a più valori. Ammettiamo di volere i risultati delle query precedenti, dai clienti che hanno fatto più ordini a quelli che ne hanno fatti meno, in ordine alfabetico.

SELECT * FROM clienti ORDER BY nome, ordini DESC;

In questo modo, avremo le società in ordine alfabetico e da chi ha fatto più ordini a chi ne ha fatti di meno.
 

 
 
Home > mysql > ...   © 1999-2017 Risorse.net, tutti i diritti riservati