• Non ci sono risultati.

Fondamenti di Informatica

N/A
N/A
Protected

Academic year: 2021

Condividi "Fondamenti di Informatica"

Copied!
62
0
0

Testo completo

(1)

Fondamenti di Informatica

Introduzione a SQL

Pro f. M a rco Lo mb a rd i

(2)

Concetti Introduttivi – 1/2

SQL (Structured Query Language) permette di

manipolare i dati, interrogare un database

relazionale e modellarne la struttura

È considerato uno degli standard principali per la

manipolazione dei dati in database relazionali

Con SQL possiamo quindi interagire con la base di

dati ed ottenere le informazioni in essa presenti

(3)

Concetti Introduttivi – 2/2

SQL è in grado di eseguire query (interrogazioni) al

database ed operazioni di manipolazione sul database

SQL soddisfa la tavola di operazioni, denominata

CRUD

CRUD

(4)

Tavola CRUD

C

REATE

• Creare nuovi database

• Creare nuove Tabelle in database esistenti

• Inserire nuovi record in tabelle

R

EAD

• Leggere e ottenere dati dal database

U

PDATE

• Aggiornare record nel database

D

ELETE

• Cancellare record dal database

CRUD

C

REATE

R

EAD

U

PDATE

(5)

Convenzioni sul Linguaggio

Tabella → Entità del modello E-R

Campo/Colonna → Attributo del modello E-R

Comandi scritti in MAIUSCOLO

SQL non fa differenza se non per i valori nei campi della tabella (entità)

Nomi degli oggetti (tabelle, campi, ecc.) composti da lettere, numeri e

carattere underscore (

_

)

Primo carattere deve essere una lettera o un underscore

(6)

Tavola CRUD

C

REATE

• Creare nuovi database

• Creare nuove Tabelle in database esistenti

• Inserire nuovi record in tabelle

R

EAD

• Leggere e ottenere dati dal database

U

PDATE

• Aggiornare record nel database

D

ELETE

• Cancellare record dal database

CRUD

C

REATE

R

EAD

U

PDATE

(7)

Creazione di una Tabella – 1/3

Sintassi SQL per la creazione di una tabella

CREATE TABLE nome_tabella (

nome_campo1 TIPO_CAMPO1 VINCOLI_CAMPO1,

nome_campo2 TIPO_CAMPO2 VINCOLI_CAMPO2,

.

.

.

nome_campoN TIPO_CAMPON VINCOLI_CAMPON

(8)

Principali tipi dei valori che un campo può assumere

Stringhe di caratteri

VARCHAR(N)

→ N indica la dimensione della stringa

Esempio

• VARCHAR(20)→ Stringa di 20 caratteri

TEXT

Valori numerici

INT

FLOAT (numero in virgola mobile)

Date e Orari

DATE

TIME

TIMESTAMP

(9)

Creazione di una Tabella – 2/3

Esempio

CREATE TABLE studente (

matricola VARCHAR(10) PRIMARY KEY,

nome VARCHAR(20) NOT NULL,

cognome VARCHAR(20) NOT NULL,

data_nascita DATE

(10)

Creazione di una Tabella – 2/3

Esempio

CREATE TABLE studente (

matricola VARCHAR(10) PRIMARY KEY,

nome VARCHAR(20) NOT NULL,

cognome VARCHAR(20) NOT NULL,

data_nascita DATE

(11)

Creazione di una Tabella – 3/3

Esempio

Creazione della tabella studente (inizialmente vuota) con i

seguenti campi

matricola

Tipo: Stringa di 10 caratteri (VARCHAR(10)) • Attributo Chiave (PRIMARY KEY)

cognome e nome

Tipo: Stringhe di 20 caratteri (VARCHAR(20)) • Non sono ammessi valori nulli (NOT NULL)

data_nascita

Tipo: Data (DATE)

CREATE TABLE studente (

matricola VARCHAR(10) PRIMARY KEY, nome VARCHAR(20) NOT NULL,

cognome VARCHAR(20) NOT NULL, data_nascita DATE

(12)

Creazione di una Tabella – 3/3

Esempio

CREATE TABLE studente (

matricola VARCHAR(10) PRIMARY KEY, nome VARCHAR(20) NOT NULL,

cognome VARCHAR(20) NOT NULL, data_nascita DATE

);

matricola

nome

cognome

data_nascita

Tabella studente

(13)

C

REATE

• Creare nuovi database

• Creare nuove Tabelle in database esistenti

• Inserire nuovi record in tabelle

R

EAD

• Leggere e ottenere dati dal database

U

PDATE

• Aggiornare record nel database

D

ELETE

• Cancellare record dal database

Tavola CRUD

CRUD

C

REATE

R

EAD

U

PDATE

D

ELETE

(14)

Inserimento di un Record – 1/2

Sintassi SQL per l’inserimento di un record in una tabella

INSERT INTO nome_tabella (

nome_campo1,

nome_campo2,

...

nome_campoN

) VALUES (

valore1

valore2

...

valoreN

);

(15)

Inserimento di un Record – 2/2

Sintassi SQL per l’inserimento di un record in una tabella

Esempio

INSERT INTO studente (

matricola,

nome,

cognome,

data_nascita

) VALUES (

‘00001’,

‘Mario’,

‘Rossi’,

‘1990/04/10’

);

(16)

Inserimento di un Record – 2/2

Esempio

INSERT INTO studente (matricola, nome, cognome, data_nascita ) VALUES ( ‘00001’, ‘Mario’, ‘Rossi’ , ‘1990/04/10’ );

matricola

nome

cognome

data_nascita

matricola

nome

cognome

data_nascita

00001

Mario

Rossi

1990/04/10

Esecuzione Istruzione SQL

(17)

Tavola CRUD

CRUD

U

PDATE

D

ELETE

C

REATE

• Creare nuovi database

• Creare nuove Tabelle in database esistenti

• Inserire nuovi record in tabelle

R

EAD

• Leggere e ottenere dati dal database

U

PDATE

• Aggiornare record nel database

D

ELETE

• Cancellare record dal database

C

REATE

(18)

Interrogazione – 1/4

Sintassi SQL per l’operazione di interrogazione (query) al database

SELECT nome_campo1, ..., nome_campoN

FROM tabella1, ..., tabellaN

WHERE condizioni;

(19)

Interrogazione – 2/4

SELECT

Specifica

le

colonne

(attributi)

che

appariranno

nel

risultato

dell’interrogazione

FROM

Specifica le tabelle su cui verrà eseguita l’interrogazione

WHERE [Clausola Opzionale]

Specifica una o più condizioni, mediante il quale i record devono essere

filtrati nei risultati dell’interrogazione

SELECT nome_campo1, ..., nome_campoN

FROM tabella1, ..., tabellaN

WHERE condizioni;

(20)

Interrogazione – 3/4

Esempio 1

matricola

nome

cognome

data_nascita

00001

Mario

Rossi

1990/04/10

00002

Giovanni

Gialli

1990/05/02

00003

Mario

Blu

1990/02/05

SELECT nome FROM studente;

(21)

Interrogazione – 3/4

Esempio 1

matricola

nome

cognome

data_nascita

00001

Mario

Rossi

1990/04/10

00002

Giovanni

Gialli

1990/05/02

00003

Mario

Blu

1990/02/05

SELECT nome FROM studente;

nome

Mario

Giovanni

Mario

(22)

Interrogazione – 3/4

Esempio 1

matricola

nome

cognome

data_nascita

00001

Mario

Rossi

1990/04/10

00002

Giovanni

Gialli

1990/05/02

00003

Mario

Blu

1990/02/05

SELECT nome FROM studente;

nome

Mario

Giovanni

Mario

Risultato dell’interrogazione

Tabella: studente

(23)

Interrogazione – 3/4

Esempio 2

matricola

nome

cognome

data_nascita

00001

Mario

Rossi

1990/04/10

00002

Giovanni

Gialli

1990/05/02

00003

Mario

Blu

1990/02/05

SELECT cognome FROM studente;

cognome

Rossi

Gialli

Blu

(24)

Interrogazione – 3/4

Esempio 3

matricola

nome

cognome

data_nascita

00001

Mario

Rossi

1990/04/10

00002

Giovanni

Gialli

1990/05/02

00003

Mario

Blu

1990/02/05

SELECT * FROM studente;

matricola

nome

cognome

data_nascita

00001

Mario

Rossi

1990/04/10

00002

Giovanni

Gialli

1990/05/02

Risultato dell’interrogazione

Tabella: studente

(25)

Interrogazione – 3/4

Esempio 3

matricola

nome

cognome

data_nascita

00001

Mario

Rossi

1990/04/10

00002

Giovanni

Gialli

1990/05/02

00003

Mario

Blu

1990/02/05

SELECT

*

FROM studente;

matricola

nome

cognome

data_nascita

00001

Mario

Rossi

1990/04/10

00002

Giovanni

Gialli

1990/05/02

Risultato dell’interrogazione

L’asterisco

*

permette di selezionare tutti gli

attributi

(26)

Interrogazione – 4/4

La Clausola WHERE – 1/20

La clausola WHERE può essere utilizzata per diversi scopi durante

un’interrogazione (condizioni di ricerca)

Comparazione

Vengono ricercati record, comparando due espressioni

Intervallo

Viene verificato se un valore specificato rientra in un dato intervallo

Parola chiave: BETWEEN

Pattern Matching

Viene verificato se una espressione corrisponde ad un pattern di stringa

specificato (esempi nelle prossime slide)

Parola chiave: LIKE

Valori NULLI

Viene verificato se una certa espressione restituisce un valore NULLO

(27)

Interrogazione – 4/4

La Clausola WHERE – 1/20

Operatori per la Comparazione

Operatore SQL

Descrizione

=

Uguaglianza (Uguale a)

<>

Disuguaglianza (Diverso da)

<

Minore

>

Maggiore

<=

Minore o Uguale

(28)

Interrogazione – 4/4

La Clausola WHERE – 1/21

Operatori Logici

Operatore SQL

Descrizione

AND

Operatore AND

OR

Operatore OR

(29)

Interrogazione – 4/4

La Clausola WHERE – 2/21

Esempio 4

matricola

nome

cognome

data_nascita

00001

Mario

Rossi

1990/04/10

00002

Giovanni

Gialli

1990/05/02

00003

Mario

Blu

1990/02/05

SELECT nome FROM studente WHERE nome = ‘Mario’;

nome

Mario

Mario

(30)

Interrogazione – 4/4

La Clausola WHERE – 3/21

Esempio 5

matricola

nome

cognome

data_nascita

00001

Mario

Rossi

1990/04/10

00002

Giovanni

Gialli

1990/05/02

00003

Mario

Blu

1990/02/05

nome

cognome

Mario

Rossi

Mario

Blu

SELECT nome, cognome FROM studente WHERE nome = ‘Mario’;

(31)

Esempio 6

matricola

nome

cognome

data_nascita

00001

Mario

Rossi

1990/04/10

00002

Giovanni

Gialli

1990/05/02

00003

Mario

Blu

1990/02/05

SELECT * FROM studente WHERE nome = ‘Mario’;

matricola

nome

cognome

data_nascita

00001

Mario

Rossi

1990/04/10

00003

Mario

Blu

1990/02/05

Interrogazione – 4/4

La Clausola WHERE – 4/21

(32)

Interrogazione – 4/4

La Clausola WHERE – 5/21

Esempio 7

clienteID

nome

cognome

cap

citta

50 Mario Rossi 84084 Fisciano 51 Giulio Bianchi 84084 Fisciano 52 Silvio Blu 84121 Salerno 58 Maria Azzurro 84125 Salerno 60 Luigi Magenta 84081 Baronissi 61 Giorgio Viola 84025 Eboli

SELECT nome, cognome

FROM cliente

WHERE citta = ‘Salerno’;

Tabella: cliente

nome

cognome

Silvio Blu Maria Azzurro

(33)

Interrogazione – 4/4

La Clausola WHERE – 6/21

Esempio 8

clienteID

nome

cognome

cap

citta

50 Mario Rossi 84084 Fisciano 51 Giulio Bianchi 84084 Fisciano 52 Silvio Blu 84121 Salerno 58 Maria Azzurro 84125 Salerno 60 Luigi Magenta 84081 Baronissi 61 Giorgio Viola 84025 Eboli

SELECT nome, cognome

FROM cliente

WHERE citta = ‘Salerno’ AND cap = 84121;

Tabella: cliente

nome

cognome

Silvio Blu

(34)

Interrogazione – 4/4

La Clausola WHERE – 7/21

Esempio 9

prodID

descrizione

prezzo

2504 Peluche 10 2809 Macchinina 25 3487 Pista 50 2980 Bambola 30

SELECT prodID

FROM giocattolo

WHERE prezzo >= 20 AND prezzo <= 40;

Tabella: giocattolo

prodID

2809 2980

(35)

Interrogazione – 4/4

La Clausola WHERE – 8/21

Esempio 10

prodID

descrizione

prezzo

2504 Peluche 10 2809 Macchinina 25 3487 Pista 50 2980 Bambola 30

SELECT prodID

FROM giocattolo

WHERE prezzo <= 20 OR prezzo > 30;

Tabella: giocattolo

prodID

2504 3487

(36)

Interrogazione – 4/4

La Clausola WHERE – 9/21

Esempio 11

prodID

descrizione

prezzo

2504 Peluche 10 2809 Macchinina 25 3487 Pista 50 2980 Bambola 30

SELECT prodID

FROM giocattolo

WHERE prezzo BETWEEN 20 AND 45;

Tabella: giocattolo

prodID

2809 2980

(37)

Interrogazione – 4/4

La Clausola WHERE – 10/21

Esempio 12

clienteID

nome

cognome

cap

citta

50 Mario Rossi 84084 Fisciano 51 Giulio Bianchi 84084 Fisciano 52 Silvio Blu 84121 Salerno 58 Maria Azzurro 84125 Salerno 60 Luigi Magenta 84081 Baronissi 61 Giorgio Viola 84025 Eboli

SELECT clienteID, nome, cognome

FROM cliente

WHERE citta IN (‘Salerno’, ‘Baronissi’);

(38)

Interrogazione – 4/4

La Clausola WHERE – 10/21

Esempio 12

clienteID

nome

cognome

cap

citta

50 Mario Rossi 84084 Fisciano 51 Giulio Bianchi 84084 Fisciano 52 Silvio Blu 84121 Salerno 58 Maria Azzurro 84125 Salerno 60 Luigi Magenta 84081 Baronissi 61 Giorgio Viola 84025 Eboli

SELECT clienteID, nome, cognome

FROM cliente

WHERE citta IN (‘Salerno’, ‘Baronissi’);

Tabella: cliente

Con la clausola IN, viene verificato se il valore, di un campo specificato (in questo

esempio, il campo citta), appartiene all’insieme indicato (nell’esempio, l’insieme

(39)

Interrogazione – 4/4

La Clausola WHERE – 10/21

Esempio 12

clienteID

nome

cognome

cap

citta

50 Mario Rossi 84084 Fisciano 51 Giulio Bianchi 84084 Fisciano 52 Silvio Blu 84121 Salerno 58 Maria Azzurro 84125 Salerno 60 Luigi Magenta 84081 Baronissi 61 Giorgio Viola 84025 Eboli

SELECT clienteID, nome, cognome

FROM cliente

WHERE citta IN (‘Salerno’, ‘Baronissi’);

Tabella: cliente

clienteID

nome

cognome

52 Silvio Blu 58 Maria Azzurro 60 Luigi Magenta

(40)

Interrogazione – 4/4

La Clausola WHERE – 11/21

Esempio 13

clienteID

nome

cognome

cap

citta

50 Mario Rossi 84084 Fisciano 51 Giulio Bianchi 84084 Fisciano 52 Silvio Blu 84121 Salerno 58 Maria Azzurro 84125 Salerno 60 Luigi Magenta 84081 Baronissi 61 Giorgio Viola 84025 Eboli

SELECT clienteID, nome, cognome

FROM cliente

WHERE citta IN (‘Eboli’, ‘Baronissi’);

(41)

Interrogazione – 4/4

La Clausola WHERE – 11/21

Esempio 13

clienteID

nome

cognome

cap

citta

50 Mario Rossi 84084 Fisciano 51 Giulio Bianchi 84084 Fisciano 52 Silvio Blu 84121 Salerno 58 Maria Azzurro 84125 Salerno 60 Luigi Magenta 84081 Baronissi 61 Giorgio Viola 84025 Eboli

SELECT clienteID, nome, cognome

FROM cliente

WHERE citta IN (‘Eboli’, ‘Baronissi’);

Tabella: cliente

clienteID

nome

cognome

60 Luigi Magenta 61 Giorgio Viola

(42)

Interrogazione – 4/4

La Clausola WHERE – 12/21

In SQL le stringhe sono racchiuse tra apici (ad esempio,

‘ciao’

)

L’operatore LIKE è utilizzato per il pattern matching nelle stringhe,

ovvero, per l’identificazione di stringhe il cui schema è specificato

Esempi di pattern (schemi) di ricerca

1.

«tutte le stringhe che iniziano con la sottostringa ‘E’»

Sintassi SQL: LIKE ‘E%’

2.

«tutte le stringhe che finiscono con la sottostringa ‘ire’»

Sintassi SQL: LIKE ‘%ire’

3.

«tutte le stringhe che contengono la sottostringa ‘mare’»

Sintassi SQL: LIKE ‘%mare%’

4.

«tutte le stringhe ‘Cas_’ in cui l’ultimo carattere può essere qualsiasi»

Sintassi SQL: LIKE ‘Cas_’

5.

«tutte le stringhe che contengono la sottostringa ‘m_re’, dove il secondo

carattere può essere qualsiasi»

(43)

Interrogazione – 4/4

La Clausola WHERE – 13/21

Esempio 14

clienteID

nome

cognome

cap

citta

50 Mario Rossi 84084 Fisciano 51 Giulio Bianchi 84084 Fisciano 52 Silvio Blu 84121 Salerno 58 Maria Azzurro 84125 Salerno 60 Luigi Magenta 84081 Baronissi 61 Giorgio Viola 84025 Eboli

SELECT clienteID, nome, cognome

FROM cliente

WHERE nome LIKE ‘Ma%’;

Tabella: cliente

clienteID

nome

cognome

50 Mario Rossi 58 Maria Azzurro

(44)

Interrogazione – 4/4

La Clausola WHERE – 14/21

Esempio 15

clienteID

nome

cognome

cap

citta

50 Mario Rossi 84084 Fisciano 51 Giulio Bianchi 84084 Fisciano 52 Silvio Blu 84121 Salerno 58 Maria Azzurro 84125 Salerno 60 Luigi Magenta 84081 Baronissi 61 Giorgio Viola 84025 Eboli

SELECT nome, cognome

FROM cliente

WHERE nome LIKE ‘%io’;

Tabella: cliente

nome

cognome

Mario Rossi Giulio Bianchi Silvio Blu Giorgio Viola

(45)

Interrogazione – 4/4

La Clausola WHERE – 15/21

Esempio 16

clienteID

nome

cognome

cap

citta

50 Mario Rossi 84084 Fisciano 51 Giulio Bianchi 84084 Fisciano 52 Silvio Blu 84121 Salerno 58 Maria Azzurro 84125 Salerno 60 Luigi Magenta 84081 Baronissi 61 Giorgio Viola 84025 Eboli

Tabella: cliente

SELECT cognome

FROM cliente

WHERE cognome LIKE ‘%a%’;

cognome

Bianchi Azzurro Magenta

(46)

Interrogazione – 4/4

La Clausola WHERE – 16/21

Esempio 17

clienteID

nome

cognome

cap

citta

50 Mario Rossi 84084 Fisciano 51 Giulio Bianchi 84084 Fisciano 52 Silvio Blu 84121 Salerno 58 Maria Azzurro 84125 Salerno 60 Luigi Magenta 84081 Baronissi 61 Giorgio Viola 84025 Eboli

Tabella: cliente

SELECT nome

FROM cliente

WHERE nome LIKE ‘M%a’;

nome

Maria

(47)

Interrogazione – 4/4

La Clausola WHERE – 17/21

Esempio 18

clienteID

nome

cognome

cap

citta

50 Mario Rossi 84084 Fisciano 51 Giulio Bianchi 84084 Fisciano 52 Silvio Blu 84121 Salerno 58 Maria Azzurro 84125 Salerno 60 Luigi Magenta 84081 Baronissi 61 Giorgio Viola 84025 Eboli

Tabella: cliente

SELECT nome

FROM cliente

WHERE nome LIKE ‘%g%’;

nome

Giulio

Luigi Giorgio

(48)

Interrogazione – 4/4

La Clausola WHERE – 18/21

Esempio 19

clienteID

nome

cognome

cap

citta

50 Mario Rossi 84084 Fisciano 51 Giulio Bianchi 84084 Fisciano 52 Silvio Blu 84121 Salerno 58 Maria Azzurro 84125 Salerno 60 Luigi Magenta 84081 Baronissi 61 Giorgio Viola 84025 Eboli

SELECT clienteID, nome, cognome

FROM cliente

WHERE cap LIKE ‘8412_’;

Tabella: cliente

clienteID

nome

cognome

52 Silvio Blu 58 Maria Azzurro

(49)

Interrogazione – 4/4

La Clausola WHERE – 19/21

Esempio 20

clienteID

nome

cognome

cap

citta

50 Mario Rossi 84084 Fisciano 51 Giulio Bianchi 84084 Fisciano 52 Silvio Blu 84121 Salerno 58 Maria Azzurro 84125 Salerno 60 Luigi Magenta 84081 Baronissi 61 Giorgio Viola 84025 Eboli

SELECT clienteID

FROM cliente

WHERE cap LIKE ‘84_2_’;

Tabella: cliente

clienteID

52 58 61

(50)

Interrogazione – 4/4

La Clausola WHERE – 20/21

Valori NULLI e NON NULLI

Esempio 21

autoID

marca

modello

immatricolazione

FIAT500_1 FIAT 500 2011

FIAT500L_1 FIAT 500L 2014 ALFAGIULIA_1 Alfa Romeo Giulia 2016 JEEPR_1 Jeep Renegade 2015 FIAT500_2 FIAT 500 NULL

SELECT autoID, marca, modello

FROM auto

WHERE immatricolazione IS NOT NULL;

Tabella: auto

autoID

marca

modello

FIAT500_1 FIAT 500 FIAT500L_1 FIAT 500L ALFAGIULIA_1 Alfa Romeo Giulia

(51)

Interrogazione – 4/4

La Clausola WHERE – 21/21

Valori NULLI e NON NULLI

Esempio 22

autoID

marca

modello

immatricolazione

FIAT500_1 FIAT 500 2011

FIAT500L_1 FIAT 500L 2014 ALFAGIULIA_1 Alfa Romeo Giulia 2016 JEEPR_1 Jeep Renegade 2015 FIAT500_2 FIAT 500 NULL

SELECT autoID

FROM auto

WHERE immatricolazione IS NULL;

Tabella: auto

autoID

FIAT500_2

(52)

Tavola CRUD

CRUD

D

ELETE

C

REATE

C

REATE

• Creare nuovi database

• Creare nuove Tabelle in database esistenti

• Inserire nuovi record in tabelle

R

EAD

• Leggere e ottenere dati dal database

U

PDATE

• Aggiornare record nel database

D

ELETE

• Cancellare record dal database

R

EAD

(53)

Aggiornamento di Record – 1/3

Sintassi SQL per l’aggiornamento di record in una tabella

UPDATE nome_tabella SET

nome_campo1 = nuovo_valore1,

nome_campo2 = nuovo_valore2,

...

nome_campoN = nuovo_valoreN

WHERE condizioni;

Le condizioni della clausola WHERE di UPDATE possono essere

definite analogamente a come fatto per la clausola WHERE di

(54)

Aggiornamento di Record – 2/3

Esempio 1

UPDATE studente SET

cognome = ‘Magenta’,

WHERE nome = ‘Mario’;

matricola

nome

cognome

data_nascita

00001

Mario

Rossi

1990/04/10

00002

Giovanni

Gialli

1990/05/02

00003

Mario

Blu

1990/02/05

matricola

nome

cognome

data_nascita

(55)

Aggiornamento di Record – 3/3

Esempio 2

UPDATE studente SET

nome = ‘Aldo’,

WHERE matricola = ‘00001’;

matricola

nome

cognome

data_nascita

00001

Mario

Rossi

1990/04/10

00002

Giovanni

Gialli

1990/05/02

00003

Mario

Blu

1990/02/05

matricola

nome

cognome

data_nascita

(56)

Tavola CRUD

CRUD

C

REATE

C

REATE

• Creare nuovi database

• Creare nuove Tabelle in database esistenti

• Inserire nuovi record in tabelle

R

EAD

• Leggere e ottenere dati dal database

U

PDATE

• Aggiornare record nel database

D

ELETE

• Cancellare record dal database

U

PDATE

D

ELETE

(57)

Cancellazione di Record – 1/4

Sintassi SQL per la cancellazione di record da una tabella

Se non viene specificata la clausola WHERE viene svuotata tutta la tabella

DELETE FROM nome_tabella WHERE condizioni;

DELETE FROM nome_tabella;

Le condizioni della clausola WHERE di DELETE possono essere

definite analogamente a come fatto per la clausola WHERE di

(58)

Cancellazione di Record – 2/4

Esempio 1

DELETE FROM studente WHERE matricola = ‘00002’;

matricola

nome

cognome

data_nascita

00001

Mario

Rossi

1990/04/10

00002

Giovanni

Gialli

1990/05/02

00003

Mario

Blu

1990/02/05

matricola

nome

cognome

data_nascita

00001

Mario

Rossi

1990/04/10

00003

Mario

Blu

1990/02/05

Tabella studente

dopo l’esecuzione

dell’istruzione SQL

Tabella studente

(59)

Cancellazione di Record – 3/4

Esempio 2

DELETE FROM studente WHERE nome = ‘Mario’;

matricola

nome

cognome

data_nascita

00001

Mario

Rossi

1990/04/10

00002

Giovanni

Gialli

1990/05/02

00003

Mario

Blu

1990/02/05

matricola

nome

cognome

data_nascita

00002

Giovanni

Gialli

1990/05/02

Tabella studente

dopo l’esecuzione

dell’istruzione SQL

(60)

Cancellazione di Record – 3/4

Esempio 3

DELETE FROM studente

WHERE nome = ‘Giovanni’ OR cognome = ‘Blu’;

matricola

nome

cognome

data_nascita

00001

Mario

Rossi

1990/04/10

00002

Giovanni

Gialli

1990/05/02

00003

Mario

Blu

1990/02/05

matricola

nome

cognome

data_nascita

00001

Mario

Rossi

1990/04/10

Tabella studente

Tabella studente

dopo l’esecuzione

dell’istruzione SQL

(61)

Cancellazione di Record – 4/4

Esempio 4

DELETE FROM studente;

matricola

nome

cognome

data_nascita

00001

Mario

Rossi

1990/04/10

00002

Giovanni

Gialli

1990/05/02

00003

Mario

Blu

1990/02/05

matricola

nome

cognome

data_nascita

Tabella studente

dopo l’esecuzione

dell’istruzione SQL

(62)

Cancellazione di una Tabella

Sintassi SQL per la cancellazione di una tabella dal database selezionato

Esempio

DROP TABLE nome_tabella;

Riferimenti

Documenti correlati

3. A partire dal mese di marzo 2012 e, successivamente con cadenza annuale, la Giunta presenta al Consiglio regionale una relazione di sintesi che illustra i risultati del

Dalla relazione inviata dalla Giunta regionale si può rilevare che per quanto riguarda gli obiettivi che la legge regionale si poneva e cioè il miglioramento della

9 – Isttuzione del Fondo regionale per la non autosufficienza e modalità di accesso alle prestazioni sono confluit nel Capo I del Titolo V del Testo Unico della Sanità e Servizi

Al Fondo sono stati assegnati 100 milioni di euro per l'anno 2007, 300 milioni per il 2008, 400 milioni per il 2009, 400 milioni per il 2010, 100 milioni per il 2011

La legge 7/2008 si poneva come finalità l'attivazione in ogni distretto sanitario delle Aziende Unità Sanitarie Locali (USL) della Regione Umbria di un Servizio di

Sulla base delle considerazioni appena svolte, appare quindi agevole affermare che, se il potere di compromettere corrisponde alla titolarità della situazione controversa, in caso di

SELECT DISTINCT nome FROM dipendenti WHERE nome BETWEEN 'E' AND 'N' (Nota: è necessario considerare la lettera seguente per comprendere tutti i nomi che iniziano per M)..

Altresì, nei confronti dell’’Assicurato che nel corso della Durata del Contratto cessi dal servizio o dalle sue funzioni per pensionamento, morte o qualsiasi altro motivo diverso