Esempio 1
CREATE SCHEMA
<nome_schema>
che nel DBMS mysql diventa:
CREATE DATABASE [IF NOT EXIST] nome_database
La clausola IF NOT EXIST evita la segnalazione di errore se tale cartella gia’ esiste.
CREATE DATABASE Registro_Automobilistico
sql: esempi di linguaggio sql
nell'implementazione mysql
1
Esempio 2
CREATE TABLE
<nome_tabella>
che nel DBMS mysql diventa:
CREATE TABLE nome_tabella
CREATE TABLE Categorie
(Cod_Categoria char(2),
Nome_Categoria char(30))
sql: esempi di linguaggio sql
nell'implementazione mysql
2
Esempio 3
CREATE TABLE Veicoli
(Targa char(10),
Cod_Modello char(3),
Cod_Categoria char(2),
Cilindrata numeric(4),
Cod_Combustibile char(2),
Cavalli_Fiscali numeric(3),
Velocità numeric(6),
Posti numeric(2),
Immatricolazione date)
sql: esempi di linguaggio sql
nell'implementazione mysql
3
Esempio 4
Dovremmo digitare:
CREATE TABLE Veicoli
(Targa char(10),
Cod_Modello char(3) not null,
Cod_Categoria char(2),
Cilindrata numeric(4),
Cod_Combustibile char(2),
Cavalli_Fiscali numeric(3),
Velocità numeric(6),
Posti numeric(2),
Immatricolazione sql:date)
esempi di linguaggio sql
nell'implementazione mysql
4
Avendo però già implementato la tabella Veicoli
non possiamo ricrearla ma dobbiamo modificarla
usando il comando ALTER TABLE che sarà
illustrato più avanti.
Il comando nel DBMS mysql presenta questa sintassi:
ALTER TABLE Veicoli
Modify Cod_Modello char(3) not null
sql: esempi di linguaggio sql
nell'implementazione mysql
5
Esempio 5
CREATE TABLE Modelli
(Cod_Modello char(3),
Nome_Modello char(30) unique,
Cod_Fabbrica char(3),
Numero_Versioni numeric(1))
sql: esempi di linguaggio sql
nell'implementazione mysql
6
Esempio 6
Avendo però già implementato la tabella Veicoli
non possiamo ricrearla……….
ALTER TABLE Veicoli
Modify targa char(10) primary key
sql: esempi di linguaggio sql
nell'implementazione mysql
7
Esempio 7
Nel DBMS le colonne di una chiave primaria devono essere
dichiarate not null
CREATE TABLE Proprietà
(Targa char(10) not null,
Cod_Proprietario char(5) not null,
Data_Acquisto date,
Data_Cessione date,
Primary Key (Targa,Cod_Proprietario))
sql: esempi di linguaggio sql
nell'implementazione mysql
8
Esempio 8
Avendo però già implementato la tabella Veicoli
non possiamo ricrearla……….
Il comando nel DBMS mysql presenta questa sintassi:
ALTER TABLE Veicoli
Drop Cod_Categoria cascade
ALTER TABLE Veicoli
Add Cod_Categoria char(2) REFERENCES
Categorie (Cod_Categoria)
sql: esempi di linguaggio sql
nell'implementazione mysql
9
Esempio 9
Se nell’esempio precedente fosse stato specificato
ALTER TABLE Veicoli Drop Cod_Categoria cascade
ALTER TABLE Veicoli
Add Cod_Categoria char(2) REFERENCES
Categorie (Cod_Categoria) ON DELETE CASCADE
La cancellazione della categoria con codice 04
avrebbe causato anche la cancellazione del
veicolo con targa C845905Z
sql: esempi di linguaggio sql
nell'implementazione mysql
10
Esempio 9bis
ALTER TABLE Veicoli
ADD CONSTRAINT Controlla_Cilindrata
CHECK (Cilindrata < 3000)
ALTER TABLE Veicoli
ADD CONSTRAINT Controlla_Cilindrata
CHECK (Cilindrata between 1500 and 3000)
sql: esempi di linguaggio sql
nell'implementazione mysql
11
Esempio 10
DROP database Registro_Automobilistico
RESTRICT non ha alcun effetto
DROP database Registro_Automobilistico
CASCADE cancella il database
in questa versione di mysql mancano però le due
opzioni RESTRICT e CASCADE per cui:
CREATE database Prova_Drop crea il database
DROP database Prova_Drop cancella il database
sql: esempi di linguaggio sql
nell'implementazione mysql
12
Esempio 11
DROP table Categorie RESTRICT fallisce
DROP table Categorie CASCADE elimina la tabella ed il vincolo di chiave esterna in Veicoli
in questa versione di mysql mancano però le due
opzioni RESTRICT e CASCADE per cui:
CREATE table Prova_Drop crea il database
DROP table Prova_Drop cancella il database
sql: esempi di linguaggio sql
nell'implementazione mysql
13
Esempio 12
in questa versione di mysql mancano però le due
opzioni RESTRICT e CASCADE per cui:
ALTER TABLE Categorie
Add esempio char(3) crea la colonna esempio
ALTER TABLE Categorie
Drop esempio cancella la colonna esempio
sql: esempi di linguaggio sql
nell'implementazione mysql
14
Esempio 13
ALTER TABLE Veicoli
ADD CONSTRAINT Controlla_Cilindrata
CHECK (Cilindrata < 3000)
crea il vincolo di tabella: cilindrata<3000
sql: esempi di linguaggio sql
nell'implementazione mysql
15
Esempio 14
ALTER TABLE Veicoli
ALTER Cilindrata SET DEFAULT 0
pone a 0 il valore di default di cilindrata
ALTER TABLE Veicoli
ALTER Cilindrata DROP DEFAULT
pone a null il valore di default di cilindrata
sql: esempi di linguaggio sql
nell'implementazione mysql
16
Registro automobilistico
Categorie
1
Cod_Fabbrica
Nome_Fabbrica
Cod_Categoria
Nome_Categoria
Modelli
1
1
N
Veicoli
Targa
Cod_Categoria
Cod_Combustibile
Cod_Modello
Cilindrata
Cavalli_Fiscali
Velocità
Posti
Immatricolazione
N
1
Fabbriche
N
Cod_Modello
Cod_Fabbrica
Nome_Modello
Numero_Versioni
N
N
Proprietà
1
Targa
Cod_Proprietario
Data_Acquisto
Data_Cessione
Proprietari
1
Combustibili
N
Cod_Combustibile
Nome_Combustibile
sql: database relazionali
Cod_Proprietario
Cognome
Nome
Indirizzo
Provincia
17
Esempio 16
INSERT INTO categorie (`cod_categoria`,
`nome_categoria`) VALUES ('05', 'tir')
inserisce i valori elencati nella tabella Veicoli
sql: esempi di linguaggio sql
nell'implementazione mysql
18
Esempio 17
update veicoli SET Cilindrata=null, Cavalli_fiscali=0
WHERE Cod_Modello="001“
vengono aggiornate più colonne della stessa tabella
sql: esempi di linguaggio sql
nell'implementazione mysql
19
Esempio 18
DELETE FROM veicoli
WHERE Targa=“A123456X”
determina la cancellazione di una sola riga (essendo Targa chiave primaria)
DELETE FROM veicoli WHERE
cod_categoria='01‘
determina la cancellazione delle righe con
Cod_Categoria=’01’
sql: esempi di linguaggio sql
nell'implementazione mysql
20
Esempio 19
SELECT Cod_Modello, Nome_Modello FROM
modelli
restituisce i valori delle due colonne indicate
relativi a tutte le righe della tabella
sql: esempi di linguaggio sql
nell'implementazione mysql
21
Esempio 20
SELECT Cod_Modello ‘Codice’ FROM Modelli
restituisce i valori della colonna Cod_Modello
rinominandola Codice
SELECT * FROM Modelli
restituisce i valori di tutte le colonne della tabella
sql: esempi di linguaggio sql
nell'implementazione mysql
22
Esempio 21
SELECT Cod_Modello ‘Modelli presenti’ FROM
Veicoli
restituisce tutte le righe della tabella anche con
lo stesso valore di Cod_Modello
SELECT DISTINCT Cod_Modello ‘Modelli
presenti’ FROM Veicoli
restituisce tutte le righe della tabella dove i valori
di Cod_Modello non vengono ripetuti
sql: esempi di linguaggio sql
nell'implementazione mysql
23
Esempio 22
SELECT * FROM veicoli
WHERE Cilindrata>1000
restituisce tutte le righe della tabella dove i valori
di Cilindrata sono maggiori di mille
SELECT * FROM veicoli
WHERE Cod_Combustibile=’01’
AND Cilindrata>1000
restituisce le righe dove i valori di Cilindrata sono maggiori di mille e Combustibile=01
sql: esempi di linguaggio sql
nell'implementazione mysql
24
Esempio 23
SELECT MAX(Cilindrata) ‘Cilindrata massima’
FROM Veicoli
fornisce il valore della cilindrata massima
SELECT AVG(Cilindrata) ‘Cilindrata media’
FROM Veicoli
fornisce il valore della cilindrata media
sql: esempi di linguaggio sql
nell'implementazione mysql
25
Esempio 23……
SELECT COUNT(*) ‘Numero Veicoli’
FROM Veicoli
fornisce il numero di veicoli (righe)
SELECT MIN(Cilindrata) ‘Cilindrata minima’
FROM Veicoli
WHERE Cod_Combustibile=‘01’
fornisce il valore della cilindrata minima tra i
veicoli con Cod_Combustibile=01
sql: esempi di linguaggio sql
nell'implementazione mysql
26
Esempio 24
SELECT * FROM Veicoli
WHERE Cilindrata > 1500
ORDER BY Cavalli_Fiscali DESC, Targa
restituisce le righe della tabella Veicoli con cilindrata maggiore di 1500, ordinate primariamente
in modo decrescente in base ai cavalli fiscali e
secondariamente in modo crescente per targa
sql: esempi di linguaggio sql
nell'implementazione mysql
27
Esempio 25
SELECT Targa, Categorie.Cod_Categoria,
Nome_Categoria
FROM Veicoli, Categorie
WHERE Veicoli.Cod_Categoria =
Categorie.Cod_Categoria
restituisce una tabella a tre colonne: le targhe di
Veicoli con i corrispondenti Cod_Categoria e
Nome_Categoria di Categorie
sql: esempi di linguaggio sql
nell'implementazione mysql
28
Esempio 25….
SELECT Targa, Categorie.Cod_Categoria,
Nome_Categoria
FROM Veicoli, Categorie
WHERE Veicoli.Cod_Categoria =
Categorie.Cod_Categoria AND Cilindrata > 1600
ORDER BY Targa
restituisce una tabella a tre colonne: le targhe di
Veicoli (con Cilindrata>1600) con i corrispondenti Cod_Categoria e Nome_Categoria di Categorie, ordinate per targhe crescenti
sql: esempi di linguaggio sql
nell'implementazione mysql
29
Esempio 26
SELECT Targa, Nome_Categoria FROM Veicoli,Categorie
WHERE Veicoli.Cod_Categoria=Categorie.Cod_Categoria
nel DBMS MySql il comando Join ha solo la seguente sintassi
SELECT Targa, Nome_Categoria FROM Veicoli
INNER JOIN Categorie ON
Veicoli.Cod_Categoria=Categorie.Cod_Categoria
sql: esempi di linguaggio sql
nell'implementazione mysql
30
Scarica

Comandi mysql