Il linguaggio SQL
SQL (Structured Query Language) è un linguaggio usato nelle basi dati relazionali.
Ha tre distinte funzionalità:
- Data Definition Language (DDL)
Ha un insieme di comandi utili per creare lo schema delle tabelle in un database relazionale. - Data Manipulation Language (DML)
Ha un insieme di comandi per l'interrogazione e la modifica delle istanze di una base dati. - Data Control Language (DCL)
Permette di gestire e revocare le autorizzazioni degli utenti all'utilizzo dei comandi DDL e DML nella base dati.
La storia
Il linguaggio SQL viene definito negli anni '70 e standardizzato negli anni '80.
Oggi è il linguaggio di riferimento per la definizione e l'interrogazione nei DBMS (Data Base Management System) basati sul modello relazionale.
Le caratteristiche del linguaggio Sql
SQL è un linguaggio dichiarativo, non richiede la stesura di sequenze di operazioni.
Con SQL l'utente non si preoccupa degli aspetti fisici del database ma soltanto delle relazioni logiche tra i dati.
Nota. Quando un utente digita una query, il DBMS ottimizza l'interrogazione tramite il query optimizer, trasformandola in una forma equivalente più efficiente. L'utente non vede la query ottimizzata ma soltanto il risultato finale.
Il linguaggio è composto da un numero limitato di comandi.
Il comando più usato nelle interrogazioni è SELECT.
Nota. E' una caratteristica che decreta il suo soccesso perché, malgrado possa sembrare una limitazione, rende particolarmente semplice il suo utilizzo a tutti.
Il linguaggio SQL è almeno in parte anche procedurale, perché consente la scrittura di procedure con una serie di comandi da eseguire in sequenza.
La creazione delle tabelle
Per creare una tabella nel linguaggio SQL si utilizza il comando CREATE TABLE
Esempio
CREATE TABLE Persone
(
Nome VARCHAR(20),
Cognome VARCHAR(20),
Figli INT(2)
);
Il precedente comando crea la tabella Persone con 3 colonne (Nome, Cognome, Figli).
Le prime due colonne (attributi) sono di tipo alfanumerico mentre la terza è numerica.
La tabella appena creata è vuota. Non contiene dati.
L'inserimento dei dati nella tabella
Per inserire una riga nella tabella SQL si utilizza il comando INSERT INTO.
Esempio
INSERT INTO Persone (Nome,Cognome,Figli) VALUE('Mario', 'Rossi', 1);
Questo comando inserisce una riga (tupla) di valori nelle colonne tabella.
In questo modo è possibile riempire la tabella con dei dati.
Le interrogazioni o query
Grazie al comando SELECT è possibile consultare i dati in una tabella.
Esempio
SELECT * FROM Persone WHERE ( Figli > 0 )
Questa interrogazione seleziona le persone nella tabella che hanno figli.
Il risultato dell'interrogazione è sempre una tabella.
E così via.
I comandi
- ALTER TABLE
modifica il nome e le caratteristiche delle colonne e dei vincoli di una tabella - CREATE TABLE
crea una nuova tabella - DROP
cancella un elemento (tabella, vista, dominio, ecc.) - INSERT INTO
inserisce i dati nella tabella - SELECT FROM
seleziona le righe della tabella che soddisfano una condizione - JOIN
combina le righe delle tabelle in base a una condizione - LEFT JOIN
estende tutte le righe di una tabella con le colonne dell'altra che rispettano una condizione di join.
FAQ
- Come rinominare una tabella
- Come cancellare i dati ( DELETE )
- Come cancellare una tabella (DROP TABLE)
- Come svuotare una tabella ( TRUNCATE TABLE )
- Come contare i record selezionati da una query ( COUNT )
- Come copiare la struttura di una tabella
- Come creare una tabella ( CREATE TABLE )
- Come modificare una tabella ( ALTER TABLE )
- Come duplicare una tabella ( dati e struttura )
- Come eliminare le duplicazioni con SELECT DISTINCT
- Come eliminare i campi Null
- Come filtrare i dati con SELECT BETWEEN
- Come confrontare i dati di una stessa tabella
- Come inserire i dati in una tabella ( INSERT INTO )
- Come modificare i dati nella tabellla ( UPDATE )
- Come modificare la codifica dei caratteri ( ALTER TABLE ... CHARACTER SET )
- Come ordinare i dati della tabella ( ORDER BY )
- Come fare un'interrogazione condizionata ( SELECT FROM WHERE )
- Come selezionare i dati in una tabella ( SELECT )
- Come selezionare pochi record con TOP o LIMIT
- Come fare la somma in una tabella ( SUM )
- Come trovare il valore massimo ( MAX )
- Come trovare il valore minimo ( MIN )
- Come calcolare la media aritmetica ( AVG )
- Come dividere la tabella in gruppi ( GROUP BY )
- Come selezionare un record casuale
- Come sostituire una sottostringa nel testo ( REPLACE )
- Come fare una selezione insensitive
- Come trasformare il dato in maiuscolo o minuscolo con UPPER e LOWER
- Come usare gli alias ( clausola AS )
- Come creare le viste ( CREATE VIEWS )
Problemi