|
Qui potete trovare le forme generalizzate dei comandi discussi in questi
appunti, più alcuni aggiuntivi che possono risultare comodi e la cui spiegazione
e' data a latere.
ATTENZIONE!!! non e' detto che tutti questi
comandi siano esattamente in questa forma, controllate sul vostro sistema per
avere la certezza del loro funzionamento e della loro disponibilità:
ALTER TABLE <Nome Tabella> ADD|DROP|MODIFY (Specifiche
Colonna[e]...vedere Create Table);
vi permette di aggiungere o
cancellare una o più colonne da una tabella, o di cambiare i parametri di una
colonna esistente (tipi di dato ecc..); questo comando e' utilizzato spesso
anche per cambiare le specifiche fisiche di una tabella (dove e come viene
salvata ecc.), ma in questo caso dipende direttamente dal DBMS che state usando,
quindi vi rimando ai manuali del vostro database. Oltre che con questo comando
le specifiche fisiche della tabella possono venire generalmente date all'
interno del comando Create Table quando una tabella viene creata per la prima
volta.
Begin Transaction;
inizia a considerare i comandi seguenti
come facenti parte di un' unico blocco (transazione) che vanno eseguiti in un
blocco unico al raggiungimento di una istruzione di commit o scartati tutti
insieme al raggiungimento di una istruzione rollback
COMMIT;
effettua i cambiamenti fatti sul database dall'
ultima istruzione Begin Transaction (in alcuni DBMS dall' ultima commit) e li
rende permanenti -- questo blocco di istruzioni viene definito una Transazione
CREATE [UNIQUE] INDEX <Nome Indice> ON
<Nome Tabella> (<Lista Colonne>);
UNIQUE e' opzionale e va usato senza parentesi quadre.
CREATE TABLE <Nome Tabella> (<Nome
Colonna> <Tipo di Dato> [(<Dimensione>)] <Limitazioni sulle
colonne>, ...altre colonne[PRIMARY KEY (colonna, colonna,...)]);
(sintassi valida anche per ALTER TABLE) --dove Dimensione viene usato
solo su alcuni tipi di dato, e le limitazioni includono quelle qui sotto
riportate (controllate automaticamente dal dbms. una tentata violazione causa la
generazione di un errore):
- NULL o NOT NULL (vedi sotto)
- UNIQUE obbliga a non avere due valori uguali all' interno della colonna
- PRIMARY KEY dice al database che questa colonna e' la chiave primaria
della tabella (utilizzato solo se la chiave primaria e' composta da una sola
colonna, altrimenti una clausola PRIMARY KEY (colonna, colonna, ...)
comparirà dopo l'ultima definizione di colonna.
- CHECK permette ad una condizione di essere testata quando i dati vengono
inseriti o aggiornati in una determinata colonna; per esempio, CHECK (Prezzo
>= 0) impone al sistema di controllare che il prezzo sia maggiore o uguale
a zero prima di accettare il valore; a volte viene implementato con
l’istruzione CONSTRAINT.
- DEFAULT inserisce il valore nel database per una determinata colonna se
una riga viene inserita senza un valore per la colonna stessa; per
esempio,
BENEFITS INTEGER DEFAULT = 10000
- FOREIGN KEY funziona esattamente come l’istruzione Primary Key, ma è
seguita da: REFERENCES <Nome Tabella> (<Nome Colonna>),
che riferisce la chiave riferita ad una chiave primaria.
CREATE VIEW <Nome Tabella> AS <Query>;
DELETE FROM <Nome Tabella> WHERE
<Condizione>;
INSERT INTO <Nome Tabella> [(<Lista
Colonne>)] VALUES (<Lista Valori>);
ROLLBACK;
Annulla le modifiche effettuare al database che
sono state effettuate dopo l' ultimo comando COMMIT. ATTENZIONE! vedere il
funzionamento delle istruzioni COMMIT, ROLLBACK e BEGIN TRANSACTION sui propri
RDBMS particolari in quanto il funzionamento di tali comandi varia moltissimo da
un sistema all' altro
SELECT [DISTINCT|ALL] <Lista Colonne, Funzioni, Costanti,
ecc.> FROM <Lista di tabelle o di viste> [WHERE
<Condizione/i>] [GROUP BY <raggruppamento
colonna/e>] [HAVING <condizione>] [ORDER BY
<colonna/e di ordinamento> [ASC|DESC]];
dove ASC|DESC permettono di
fare in modo che l' ordinamento venga effettuato in ordine ascendente (ASC) o
discendente (DESC)
UPDATE <Nome Tabella> SET <Nome
Colonna> = <Valore> [WHERE <Condizione>];
se
la clausola Where non e' specificata vengono aggiornate tutte le righe come
specificate nella clausola SET
di
|