Lo Structured Query Language (SQL) è l'insieme di istruzioni utilizzate per interagire con a database relazionale. Infatti, SQL è l'unico linguaggio che la maggior parte dei database comprende. Ogni volta che interagisci con un database di questo tipo, il software traduce i tuoi comandi (che siano clic del mouse o voci di modulo) in un'istruzione SQL che il database sa interpretare. SQL ha tre componenti principali: il Data Manipulation Language (DML), il Data Definition Language (DDL) e il Data Control Language (DCL).
Usi comuni di SQL sul Web
Come utente di qualsiasi programma software basato su database, probabilmente stai utilizzando SQL, anche se non lo conosci. Ad esempio, una pagina Web dinamica basata su database (come la maggior parte dei siti Web) prende l'input dell'utente da moduli e clic e lo utilizza per comporre una query SQL che recupera le informazioni dal database necessarie per generare la pagina web successiva.
Consideriamo l'esempio di un semplice catalogo online con una funzione di ricerca. La pagina di ricerca potrebbe consistere in un modulo contenente solo una casella di testo in cui si immette un termine di ricerca e quindi si fa clic su un pulsante di ricerca. Quando fai clic sul pulsante, il server Web recupera tutti i record dal database del prodotto contenente il termine di ricerca e utilizza i risultati per creare una pagina Web specifica per la tua richiesta.
Ad esempio, se hai cercato prodotti contenenti il termine "irlandese", il server potrebbe utilizzare la seguente istruzione SQL per recuperare i prodotti correlati:
SELEZIONARE *
DA prodotti
DOVE nome LIKE '%irish%'
Tradotto, questo comando recupera tutti i record dalla tabella del database denominata "prodotti" che contengono i caratteri "irlandesi" ovunque all'interno del nome del prodotto.
Linguaggio di manipolazione dei dati Data
Il Data Manipulation Language (DML) contiene il sottoinsieme di comandi SQL usati più frequentemente, quelli che semplicemente manipolano il contenuto di un database in qualche forma. I quattro comandi DML più comuni recuperano informazioni da un database (il comando SELECT), aggiungono nuove informazioni a un database (il comando INSERT comando), modificare le informazioni attualmente memorizzate in un database (il comando UPDATE) e rimuovere le informazioni da un database (il comando DELETE comando).
Linguaggio di definizione dei dati
Il Data Definition Language (DDL) contiene comandi usati meno frequentemente. I comandi DDL modificano la struttura effettiva di un database, piuttosto che il contenuto del database. Esempi di comandi DDL comunemente usati includono quelli usati per generare a nuova tabella del database (CREATE TABLE), modificare la struttura di una tabella di database (ALTER TABLE) ed eliminare una tabella di database (DROP TABLE).
Linguaggio di controllo dei dati
Il Linguaggio di controllo dei dati (DCL) è usato per gestire l'accesso degli utenti ai database. Consiste di due comandi: il comando GRANT, utilizzato per aggiungere autorizzazioni al database per un utente, e il comando REVOKE, utilizzato per rimuovere le autorizzazioni esistenti. Questi due comandi costituiscono il nucleo del modello di sicurezza del database relazionale.
Struttura di un comando SQL
Fortunatamente per quelli di noi che non sono programmatori di computer, i comandi SQL sono progettati per avere una sintassi simile alla lingua inglese. Normalmente iniziano con un'istruzione di comando che descrive l'azione da intraprendere, seguita da una clausola che descrive l'obiettivo del comando (come la tabella specifica all'interno di un database interessato dal comando) e, infine, una serie di clausole che forniscono ulteriori Istruzioni.
Spesso, la semplice lettura di un'istruzione SQL ad alta voce ti darà un'idea molto chiara di ciò che il comando è destinato a fare. Prenditi un momento per leggere questo esempio di istruzione SQL:
ELIMINA
DA studenti
DOVE laurea_anno = 2014
Riuscite a indovinare cosa farà questa dichiarazione? Accede alla tabella studenti del database e cancella tutti i record degli studenti laureati nel 2014.