3. Operazioni
3
Definizione dei dati
Modifica dei dati
Ricerca dei dati
Ordinamento dei dati
SQL
4. Definizione dei dati (1/8)
4
Creazione di tabelle
CREATE TABLE nome_tabella
(nome_colonna1 tipo1 {vincolo},
nome_colonnan tipon {vincolo})
SQL
5. Definizione dei dati (2/8)
5
Possibili vincoli (clausole)
PRIMARY KEY
FOREIGN KEY
UNIQUE
NOT NULL
SQL
6. Definizione dei dati (3/8)
6
Possibili tipi di dati
SMALLINT
INTEGER
DECIMAL (p, q)
FLOAT (p)
CHAR (n)
VARCHAR (n)
DATE
TIME
SQL
7. Definizione dei dati (4/8)
7
Esempio
CREATE TABLE Dipartimenti
(Dip INT NOT NULL UNIQUE ,
Descrizione CHAR(30),
Località CHAR(20),
PRIMARY KEY (Dip));
SQL
9. Definizione dei dati (6/8)
9
Definizione di indici
CREATE INDEX nome_indice
ON nome_tabella (nome_colonna)
Esempio:
CREATE INDEX indicevelisti
ON Velisti (vnome)
SQL
10. Definizione dei dati (7/8)
10
Modifica dello schema
ALTER TABLE identificatore_tabella
ADD nome_colonna tipo
Esempio
ALTER TABLE Dipartimenti
ADD Provincia CHAR (2)
SQL
11. Definizione dei dati (8/8)
11
Cancellazione
ALTER TABLE nome_tabella DROP
nome_colonna
DROP TABLE nome_tabella
Esempi:
ALTER TABLE Velisti DROP età
DROP TABLE Velisti
SQL
12. Modifica dei dati (1/3)
12
Inserimento di record
INSERT INTO nome_tabella
VALUES (costante1, costante2,…)
Esempio:
INSERT INTO Velisti
VALUES (23, “Francesco”, 41)
SQL
13. Modifica dei dati (2/3)
13
Modifica di record
UPDATE nome_tabella
SET nome_colonna = espressione
{WHERE condizione}
Esempio :
UPDATE Velisti
SET età = età + 1
SQL
14. Modifica dei dati (3/3)
14
Cancellazione
DELETE
FROM nome_tabella
{WHERE condizione}
Esempio :
DELETE
FROM Velisti
WHERE età=24
SQL
15. Ricerca dei dati (1/4)
15
SELECT nome_colonna
FROM nome_tabella
{WHERE condizione}
Esempio:
SELECT vnome FROM Velisti
WHERE età>18
SQL
16. Ricerca dei dati (2/4)
16
Funzioni predefinite:
COUNT
MIN
MAX
SUM
AVG
SQL
17. Ricerca dei dati (3/4)
17
Esempi:
SELECT COUNT (città) FROM Fornitori
SELECT MAX (Prezzo), MIN (Prezzo) FROM
Prodotti
SELECT Nome, Prezzo FROM Prodotti
WHERE Prezzo < (SELECT AVG
(Prezzo)
FROM Prodotti)
SQL
18. Ricerca dei dati (4/4)
18
Generazione di tabelle
SELECT listacampi INTO nuovatabella
FROM tabellaorigine
{WHERE condizione}
SELECT Cognome, Nome INTO Maschi
FROM Allievi
WHERE sesso = „M‟
SQL
19. Ordinamento e raggruppamento (1/3)
19
Clausola ORDER BY
SELECT nome_colonna FROM
nome_tabella
ORDER BY nome_colonna
Clausola GROUP BY
SELECT nome_colonna FROM nome_tabella
GROUP BY nome_colonna
SQL
20. Ordinamento e raggruppamento (2/3)
20
Esempi :
SELECT Nome, Prezzo FROM Prodotti
ORDER BY Nome
SELECT Cognome, Nome, Città FROM Allievi
GROUP BY Città
SQL
21. Ordinamento e raggruppamento (3/3)
21
Clausola HAVING
Esempio:
SELECT Cognome, Nome, Città FROM Allievi
GROUP BY Città
HAVING COUNT (Città) >3
SQL