Le Basi Di Sql: Select, Insert, Update E Delete

by admin admin Date: 11-06-2013 SQL databases php mysql


SQL è il linguaggio di definizione e manipolazione dei dati universalmente usato nelle basi di dati relazionali. Esso ha le seguenti funzioni:

  • definizione dei dati: SQL permette di definire, in modo integrato, i tre livelli della base di dati: il livello esterno (viste), il livello logico (struttura delle tabelle e vincoli di integrità) e il livello fisico (memoriazzazione delle tabelle e indici) della base di dati;
  • aggiornamento dei dati: SQL permette di aggiornare l'istanza della base mediante inserimenti, cancellazioni e modifiche di tuple;
  • interrogazione sui dati: SQL consente di estrarre informazione presente nella base di dati.

Con SQL si può quindi leggere, aggiornare, cancellare ed inserire dei dati in un database, per fare questo dovremo utilizzare i comandi SELECT, gli UPDATE, i DELETE o gli INSERT; vediamoli nel dettaglio:

SELECT

Il comando Select è il comando di interrogazione (query) di SQL, e la sua potenza espressiva è tale da poter realizzare in poche righe interrogazioni che in altri linguaggi richiederebbero molte pagine di codice. Il risultato del comando è una tabella. La select prevede molte clausole che la rendono molto flessibile e potente.

La sintassi nella forma più semplice è:

SELECT  <elenco attributi>  FROM <elenco tabelle>  WHERE <condizione>

Il risultato di una SELECT è una tabella. Conterrà i dati di tutti i record della tabella interrogata che soddisfano la condizione del WHERE.
La condizione WHERE è opzionale: serve per filtrare i record che verranno estratti dalla tabella. Qual’ ora non fosse presente, invece, verranno estratti tutti i dati senza alcuna eccezione.
E’ possibile estrarre solo una parte dei campi della tabella (specificandoli uno per uno) oppure tutti, con la “parola chiave” * dopo il SELECT, come in esempio.

ESEMPIO :

SELECT * FROM users WHERE username='Silvia' AND password='pippo'

In questo caso verranno estratti tutti i dati dalla tabella “users” dove l’username equivale a “Maicol” e la Password a “ciao90″.

Parametri “avanzati” per la SELECT

Oltre alla normale operazione di selezione, è possibile “arricchire” la nostra query con dei parametri avanzati, che ci permetteranno di fare diverse cose.
I parametri più comuni che oggi citeremo sono:

  • Clausola AS: consente di cambiare il nome di un campo.
  • Clausola ORDER BY: produce una tabella ordinata secondo i campi specificati dopo la parola chiave BY;
  • Operatore GROUP BY: produce una tabella per dati raggruppati;
  • Operatore UNION, esegue l'unione di due comandi SELECT.
  • Clausola DISTINCT: elenca i valori di un campo eliminando i doppioni;
  • Funzione COUNT() produce in uscita il conteggio dei record che soddisfano le clausole della SELECT;
  • Funzioni statistiche: SUM(), AVG(), MAX(), MIN(): consentono di calcolare la somma, la media, il minimo e il massimo in una tabella;
  • Funzioni di stringa: UPPER(), LOWER(), TRIM(), SUBSTRING().
  • Funzioni di data: EXTRACT().
  • Predicato ALL;
  • Predicato [NOT] EXISTS: verifica se una data tabella è o no vuota;
  • Predicato IN: verifica se un dato valore appartiene o no ad un insieme;
  • Predicato IS [NOT] NULL: serve a verificare se un certo campo è o no vuoto;
  • Predicato LIKE: inserito nella clausola WHERE consente di confrontare due stringhe in modo molto flessibile;

ESEMPIO:

SELECT DISTINCT <lista_campi/*> FROM <nome_tabella> [WHERE <condizione_logica>]GROUP BY <nome_campo / posizione> ORDER BY <nome_campo / posizione> [ASC/DESC]LIMIT [<record_di_partenza>,] <numero_record>

SELECT DISTINCT username,password FROM users ORDER BY id ASC LIMIT 0,10

INSERT

Il comando Insert serve ad inserire una o più nuove tuple nella tabella indicata; si tratta quindi di un'operazione di transazione; Insert equivale all'Unione del modello relazionale, ma con una differenza: non c'è alcun controllo sui "doppioni", eventuali tuple già presenti nella tabella vengono comunque inserite dando luogo a duplicati.

La sintassi è:

INSERT INTO <Tabella>  [<lista attributi>]  VALUES (<lista valori>)  

dove <lista attributi> è facoltativa; 

se non è presente si intende che devono essere specificati tutti i campi; se invece la lista c'è, allora dovranno essere specificati solo i campi elencati nello stesso ordine.

Esempio corretto:

INSERT INTO users(username,password) VALUES('Maicol','ciao90')

Esempio scorretto:

INSERT INTO users(username,password) VALUES('Maicol')

UPDATE

Il comando Update serve ad aggiornare i dati di una tabella; si tratta quindi di un operazione di transazione.

La sintassi è:

UPDATE <Tabella>  SET <nome campo> = <nuovo valore>  [WHERE <condizione>]  

I campi elencati alla clausola SET vengono aggiornati per tutti i record che soddisfanno la clausola WHERE. Quest'ultima può essere tralasciata ma in questo caso vengono aggiornati tutte le righe della tabella. Da usare con molta cautela!!

La situazione più frequente è che vengano aggiornati i campi di un record data la chiave; nell'esempio a destra si aggiornano i campi nome, cognome, data di nascita dato il Codice Fiscale (CF) che ovviamente non è opportuno cambiare.

Esempio sicuro:

UPDATE users SET username='pippo' WHERE id=1

Esempio pericoloso:

UPDATE users SET username='pippo'

DELETE

Il comando Delete serve a cancellare una o più tuple di un data-base; si tratta quindi di un operazione di transazione.

La sintassi è:

DELETE FROM <Tabella>  WHERE <condizione>  

Vengono eliminate tutte le tuple che soddisfanno la condizione specificata dal WHERE; è quindi possibile eliminare un gran numero di dati con un solo comando; usare con cautela!


Esempio sicuro:

DELETE FROM users WHERE id=1

Esempio pericoloso:

1 DELETE FROM users

 

 
by admin admin Date: 11-06-2013 SQL databases php mysql visite : 8177  
 
 
 
 

Articoli correlati

    Come utilizzare i campi di dati JSON nei database MySQL

    Ultimamente abbiamo potuto notare come la linea tra i database SQL e NoSQL è diventata sempre più sottile e confusa con ogni sistema cheadotta le caratteristiche dell'altro. I database MySQL…

    Come configurare Google reCAPTCHA v3 in un form PHP

    Un semplice esempio che mostra come aggiungere il nuovo Google reCAPTCHA v3 a un modulo PHP. reCAPTCHA v3 aiuta a rilevare il traffico abusivo senza dar fastidio agli utenti del nostro…

    Php 7.2: Tutte le novitá

    Il 30 Novembre 2017 è previsto il rilascio di una nuova versione del linguaggio di programmazione PHP, la 7.2. Questa versione è il frutto di 6 mesi di test con…

    Cuixot - prosciutti e salumi mallorchini

    Progetto: Cuixot de Porc Negre Mallorquí grafica web development SEO PHP/MYSQL, HTML, AJAX, Javascript, CSS  frontend/backoffice Pcore CMS Link al sito: Cuixot - Productos de la raza de cerdos negros de Mallorca  

    Rilaciato PHP 7 versione stabile

    Abbiamo dovuto attendere mesi...Finalmente, hanno finalmente rilasciato la versione stabile di PHP 7.0.0, major release nata con lo scopo di soddisfare le istanze della community in tema di miglioramento delle prestazioni…

    Winginx, un server nginx completo per windows

    Quando abbiamo bisogno di montare un server Apache su Windows o Mac abbiamo opzioni WAMP e MAMP molto conosciute come XAMPP, tuttavia si stanno facendo popolari nuove soluzioni di server…

    Come creare un file di conversione .ics con PHP

      video by John Morris   Grazie a questo video imparerete a creare un semplice file di conversione .ics usando il PHP. Questo vi permetterà di generare in seguito il file .ics basato…

    Le migliori estensioni di Firefox per sviluppatori web

    Una delle pincipali ragioni della grande popolarità di Mozilla Firefox, oltre all'usabilità, è la sua enorme varietà di estensioni (add-ons) create con la finalità di migliorare l'esperienza di navigazione degli…

    20 Cheat Sheets per sviluppatori web

    I cheat sheet sono una risorsa utilissima per gli sviluppatori poiché consentono di avere a portata di mano una lista completa di tutte o quasi tutte le funzioni e la…

    Google App Engine Hackathon @ EuroPython

    Un hackathon (anche conosciuto come hack day o hackfest) è un evento al quale partecipano, a vario titolo, esperti di diversi settori dell'informatica: dagli sviluppatori di software ai programmatori ai…

    I segreti tecnologici di un gigante del porno: YouPorn

    The Internet is for porn. Questa frase si è convertita da numero musicale di Off-broadway ad un vero e proprio assioma del Web. I siti web porno più noti, ricevono milioni di visite giornaliere…

    PHP: due funzioni per creare short urls

      Gli SHORT URLS fanno ormai parte di quelle cose di internet che ci suonono terribilmente familiari; per capirci uno short url lo vedete ogni qualvolta mettete un link su Twitter…