MySQL

Sakila Sample Database


In questo brevissimo tutorial affronteremo l'installazione del sakila sample database, ossia un database di esempio scaricabile dal sito ufficiale di MySQL, utilizzato in molte risorse didattiche.

9. LIMIT


Clausola LIMIT

La clausola LIMIT ci servirà per limitare il numero di record restituiti da una query.
L'istruzione va posta alla fine della query, e può prendere uno o due parametri.

8. ORDER BY


Clausola ORDER BY

La clausola ORDER BY ci servirà per ordinare i risultati di una query, o se volessimo dirlo in altri termini, ad ordinare le tabelle mysql, in ordine crescente o decrescente e in base ad una o più colonne.

7. Chiavi primarie


Chiavi primarie

Le chiavi primarie vengono utilizzate internamente da MySQL per individuare i singoli record di una tabella.
Ogni record possiede quindi una chiave primaria ad esso associato che lo identifica univocamente.

6. Principali operatori


Principali operatori

In questo capitolo vedremo i principali operatori che MySQL ci mette a disposizione per confrontare i dati nella costruzione delle nostre query.

Faccio un esempio pratico.
Se volessimo trovare tutti gli utenti che hanno fanno "Rossi" di cognome, allora utilizzeremo l'operatore di uguaglianza = sulla colonna cognome della tabella utenti, come nell'esempio che segue.

SELECT * FROM `utenti` WHERE `cognome` = 'Rossi';

Al nome della colonna segue quindi l'operatore, mentre all'operatore segue il valore che deve essere confrontato.
Il valore utilizzato per il confronto può essere:

  • Statico: WHERE `cognome` = 'Rossi'
  • Espressione: WHERE `anno_nascita` = 2000 + 5
  • Un altro campo: WHERE `nome` = `cognome`

Prima di vedere il resto degli operatori, li dividerermo in due macrocategorie, ossia gli Operatori di confronto e gli Operatori di condizione.

Gli operatori di condizione servono a costruire delle clausole WHERE più complesse, per realizzare quindi delle condizioni formate da ulteriori sotto-condizioni, le quali saranno invece costruite con degli operatori di confronto.

Per esempio: AND è un'operatore di condizione e lo utilizzeremo per strutturare una WHERE in due sotto-condizioni nelle quali utilizzeremo invece l'operatore di uguaglianza in questo modo:

SELECT * FROM `utenti` WHERE `nome` = 'Mario'
AND `anno_di_nascita` = 1980;

Nell'esempio precedente verranno selezionati tutti gli utenti che hanno Mario come nome e che sono nati nel 1980.

Principali operatori di Confronto

  • Operatore di uguaglianza    =
  • Operatore di disuguaglianza    != oppure <>
  • Operatore di minoranza    <
  • Operatore di maggioranza    >
  • Operatore di minoranza o uguaglianza    <=
  • Operatore di maggioranza o uguaglianza    >=

Principali operatori di Condizione

  • Operatore AND logico
  • Operatore OR logico

Con questi operatori è possibile costruire condizioni complesse quanto si vuole, annidando ulteriori sotto-condizioni grazie all'ausilio di parantesi tonde come mostrerò nell'esempio che segue:

SELECT * FROM `utenti` WHERE `nome` = 'Mario` AND
(`cognome` = 'Rossi' OR `cognome` = 'Verdi');

Nell'esempio verranno selezionati tutti gli utenti che si chiamano Mario Rossi oppure Mario Verdi.

5. Prime query

UPDATE

La query UPDATE viene utilizzata per aggiornare i dati dei record già inseriti.
Come avviene con la SELECT è possibile applicare una condizione attraverso la clausola WHERE per aggiornare solo i record che vogliamo.

La sintassi corretta prevede l'utilizzo della parola chiave UPDATE seguita dal nome della tabella da aggiornare.
Poi segue SET che indica la lista dei campi coi rispettivi valori, separando un campo da un altro attraverso la virgola.
Vediamo prima un UPDATE senza WHERE.

UPDATE `utenti` SET `nome` = 'Mario', cognome = 'Rossi';

La query soprastante aggiorna tutti i record della tabella assegnando a tutti i campi "nome" il valore 'Mario' e a tutti i campi "cognome" il valore 'Rossi'.

Se volessimo aggiornare solo l'utente il cui ID univoco (chiave primaria) è 5, procederemmo attraverso il WHERE come mostrato nell'esempio seguente:

UPDATE `utenti` SET `nome` = 'Mario', cognome = 'Rossi'
WHERE `id` = 5;

Anche in questo caso possiamo strutturare il WHERE in condizioni più complesse, servendoci degli operatori AND e OR.

DELETE

La query DELETE viene utilizzata per eliminare i record da una tabella.

E' molto simile all'UPDATE, senza la parte riguardante i campi, specificando quindi solo la tabella da cui cancellare e il WHERE per eliminare solo i record desiderati.

Vediamo un esempio:

DELETE FROM `utenti` WHERE `id` = 5;

La query appena vista elimina tutti i record della tabella "utenti" il cui campo id contiene il valore 5.
In questo caso, essendo id una chiave primaria, verrà eliminato un solo utente.

Nota bene: per eliminare tutti i record di una tabella consiglio l'utilizzo della query TRUNCATE che libererà anche lo spazio rimasto inutilizzato e ripristinerà l'eventuale conteggio dei campi auto increment.

TRUNCATE TABLE `utenti`;
Condividi contenuti