SQL
È l'acronimo di "Structured Query Language".
SQL è un linguaggio di query utilizzato per accedere alle informazioni contenute in un database e modificarle. Gli sviluppatori web usano SQL per collegare siti web e applicazioni web ai database, creando pagine web dinamiche in grado di visualizzare informazioni aggiornate ogni volta che vengono caricate. SQL è un linguaggio standard per le query sui database, utilizzato da molti sistemi di gestione dei database diversi, come Oracle Database e MySQL.
I siti web e le applicazioni web usano istruzioni SQL per interrogare i database relazionali, che archiviano i dati in tabelle, righe (che rappresentano le voci del database) e colonne (per gli attributi di tali voci). Ad esempio, un sito di commercio elettronico che gestisce il proprio inventario in un database memorizzerebbe i prodotti in una tabella: ogni prodotto sarebbe una riga e le informazioni su ciascun prodotto, come prezzo, dimensioni e colore, sarebbero colonne. Quando visualizzi la pagina web di un articolo, il server web usa un linguaggio di scripting come PHP per eseguire una o più query SQL e recuperare le informazioni su quel prodotto, quindi inserisce i risultati nella pagina HTML. Se il prezzo del prodotto cambia nel database, le nuove informazioni appariranno la volta successiva che caricherai quella pagina web.
Il comando SQL più comune è SELECT, che recupera le informazioni da una tabella. Può recuperare tutte le informazioni contenute in una tabella oppure solo i record che soddisfano determinati criteri. Ad esempio, la query seguente recupera tutti i record dei clienti con il codice postale specificato.
SELECT * FROM Customers WHERE Zip='55400';
La query seguente recupera il prezzo di un determinato prodotto:
SELECT Price FROM Products WHERE ProductID=47988;
Il comando UPDATE modifica le informazioni memorizzate in una tabella, una riga e una colonna specificate. INSERT INTO crea nuovi record, mentre DELETE FROM rimuove un record.
NOTE: Se lo sviluppatore di un sito web non convalida correttamente i dati immessi dagli utenti e non controlla l'accesso ai database, il sito potrebbe essere vulnerabile a un attacco di SQL injection. Un attacco SQL injection consente a un aggressore di inviare a un database istruzioni SQL dannose che normalmente non sarebbero consentite, ad esempio recuperando un elenco completo di nomi, indirizzi e numeri di carta di credito dei clienti.
Metti alla prova le tue conoscenze