Una lista di istruzioni e clausole non basta a facilitare l’apprendimento. Inizia a mettere davvero le mani in pasta nella programmazione in SQL, usando solo le istruzioni necessarie.
Tra poche righe potrai iniziare a scrivere i tuoi primi programmi SQL! Emozionato, eh?
Prima, però, è opportuno fare un minimo di teoria… porta pazienza, dura poco!
Abbiamo detto che SQL è un linguaggio di programmazione, per cui i tipi di dato elementari sono numeri e testi. Come in ogni linguaggio, questi tipi di dato vanno definiti prima di usarli: ad esempio, i numeri possono essere interi o decimali, e i testi possono essere variabili di una certa lunghezza massima: per un nome proprio di persona metterai una lunghezza massima – diciamo – di 10 caratteri, per la descrizione di un oggetto – sempre ipotizzando – 200 caratteri. Una variabile di testo di lunghezza 200 viene indicata con la dichiarazione:
nome VARCHAR(200)
Un numero intero con INT (per integer) e un numero decimale con DECIMAL(numero cifre parte intera, numero cifre parte decimale).
Queste sono definizioni teoriche. L’effettiva forma di scrittura del programma la vedrai a seconda del sistema di sviluppo che usi: potrai trovare INT in uno e integer in un altro, o regole diverse per la gestione delle maiuscole (VARCHAR, varchar o entrambe?).
Ma non preoccuparti: questo diventerà semplice ed automatico non appena metterai le mani su un sistema di sviluppo.
Torniamo al linguaggio SQL. Tutto inizia dalla “creazione” di una tabella.
SQL richiede l’uso della CREATE:
CREATE TABLE nome_tabella ( nome_colonna1 tipo_dato [opzioni], nome_colonna2 tipo_dato [opzioni], ..., nome_colonnaN tipo_dato [opzioni] );
In questa sintassi, nome_tabella rappresenta il nome della tabella che si desidera creare, mentre nome_colonna1, nome_colonna2, …, nome_colonnaN rappresentano i nomi delle colonne della tabella. tipo_dato rappresenta il tipo di dato che deve essere memorizzato nella colonna e opzioni sono opzionali e possono essere utilizzate per specificare eventuali vincoli di integrità referenziale o di tipo.
Ampliando l’esempio della tabella di prodotti tecnologici usata prima, puoi creare una tabella chiamata “prodotti” con le colonne “id”, “nome” e “prezzo”, usando la seguente sintassi:
CREATE TABLE prodotti ( id INT PRIMARY KEY, nome VARCHAR(20), prezzo DECIMAL(10,2) );
Noterai subito che ti trovi davanti ad un nuovo oggetto: la PRIMARY KEY. Si tratta di una variabile che serve al sistema di gestione per mettere le varie tabelle in relazione tra di loro. E’ conveniente usarla come numero d’ordine delle righe della tabella.
In questo esempio, la colonna “id” è stata definita come chiave primaria della tabella con la clausola PRIMARY KEY.
Una volta creata la tabella, potrai modificarne la struttura attraverso la seguente sintassi:
ALTER TABLE nome_tabella ADD [COLUMN] nome_colonna tipo_dato [opzioni], ALTER [COLUMN] nome_colonna tipo_dato [opzioni], DROP [COLUMN] nome_colonna;
In questa sintassi, ADD viene utilizzato per aggiungere una nuova colonna alla tabella, ALTER per modificare una colonna esistente e DROP per eliminare una colonna esistente. L’opzione COLUMN è opzionale.
Per esempio, per aggiungere una colonna “descrizione” alla tabella “prodotti” utilizzerai il seguente codice:
ALTER TABLE prodotti ADD COLUMN descrizione VARCHAR(200);
Per eliminare la colonna “prezzo”, puoi usare la seguente sintassi:
ALTER TABLE prodotti DROP COLUMN prezzo;
Infine, per eliminare completamente la tabella devi affidarti al DROP (scarica):
DROP TABLE nome_tabella;