Scarica Informatica sql esame riassunto per prova esame e più Appunti in PDF di Informatica solo su Docsity!
SQL
CREATE DATABASE:
CREATE DATABASE nome
Crea il database in cui verranno inserite le table
CREATE TABLE: Crea una nuova tabella.
CREATE TABLE corsi ( id INT PRIMARY KEY, nome_corso VARCHAR ( 50 ), descrizione TEXT );
Questo esempio crea una tabella chiamata "corsi" con tre colonne: "id", "nome_corso" e
"descrizione", di cui id è la chiave principale.
DROP: Elimina una tabella/database/colonne
DROP TABLE corsi; DROP DATABASE baracca;
DROP COLUMN palle; //va prima ALTER TABLE nometabella
SELECT: Seleziona i dati da una tabella.
SELECT nome,cognome FROM studenti WHERE etá > 18;
Questo esempio seleziona le colonne "nome" e "cognome" dalla tabella "studenti" per tutti gli
studenti che hanno più di 18 anni.
Da ricordare che select si riferisce a specifiche COLONNE
ALTER TABLE: Modifica la struttura di una tabella esistente.
ALTER TABLE studenti ADD COLUMN email VARCHAR ( 100 );
Questo esempio aggiunge una nuova colonna "email" alla tabella "studenti".
ORDER BY: Ordina i risultati della query in base a una o più colonne.
SELECT nome,cognome,etá FROM studenti ORDER BY etá DESC;
ASC = ascendente; DESC = discendente
Questo esempio seleziona tutti gli studenti e li ordina per età in ordine decrescente (dal più
anziano al più giovane).
LIKE: Cerca un modello specifico all'interno di una colonna.
● “%” rappresenta zero o più caratteri.
● “_” rappresenta un singolo carattere.
SELECT nome,cognome FROM studenti WHERE cognome LIKE 'Ros%';
Questo esempio seleziona tutti gli studenti il cui cognome inizia con "Ros", come "Rossi", "Rossetti",
ecc.
Due modi per “filtrare”:
- CHECK(anno LIKE '_ _ _ _') → parola precisa lunga 4 caratteri
- CHECK(anno LIKE ‘20%’) → Dopo il ‘20’, puó esserci qualunque cosa di lunghezza indefinita
Se vuoi introdurre una tabella con tutte le entrate che devono rientrare in specifici format si mette
ALTER TABLE Baracca
ADD CONSTRAINT CHECK ColoreOcchi IN(‘blu’, ‘verde’, ‘marrone’)
CREATE TABLE Assenza
Id INTEGER AUTO_INCREMENT PRIMARY KEY,
IdStud CHAR(10),
FOREIGN KEY (IdStud) REFERENCES Studente(Matricola)
ON DELETE CASCADE
ON UPDATE NO ACTION
Se si tenta di aggiornare/eliminare una riga contenente una chiave a cui fanno riferimento chiavi
esterne di altre tabelle
- No action: verrà generato un errore e verrà eseguito il rollback dell'istruzione
- Cascade: modifiche si ripercuotono a cascata sulle chiavi esterne
- Set null: chiavi esterne impostate a NULL
- Set default: chiavi esterne impostate al valore di default
Funzioni per modificare dati già presenti in una tabella già creata
INSERT INTO: Inserisce nuovi record in una tabella.
INSERT INTO studenti(nome,cognome,età) VALUES ('Mario', 'Rossi', 20 );
Questo esempio inserisce un nuovo studente con nome "Mario", cognome "Rossi" e età 20 nella
tabella "studenti". Ogni volta che si aggiunge uno studente, in questo esempio, è come se si stesse
aggiungendo una riga alla tabella “studenti”.
UPDATE: Aggiorna i dati esistenti in una tabella.
UPDATE studenti SET etá = 21 WHERE nome = 'Mario' AND cognome = 'Rossi';
Questo esempio aggiorna l’età dello studente "Mario Rossi" a 21.
DELETE: Elimina i dati (riga) da una tabella.
DELETE FROM studenti WHERE nome = 'Mario' AND cognome = 'Rossi';
Questo esempio elimina il record (riga) relativo allo studente "Mario Rossi" dalla tabella "studenti".