Data Definition Language: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Sintassi del comando rename: + link versione inglese
sposto il contenuto riguardante sql al relativo articolo
Riga 1:
{{stub informatica}}
L'acronimo '''DDL''', è l''acronimo inglese di '''D'''ata '''D'''efinition '''L'''anguage'', raggruppa tutti queiovvero comandiun [[SQL]]linguaggio che consentonopermette di creare nuovi [[oggetto (Database)|oggetti]] di [[database]], di modificarne la struttura o di distruggerli.
 
==Comandi==
===Create table===
Il comando ''create table'' ha la funzione di creare una nuova [[tabella (Database)|tabella]] (o tavola).
<br>
Il nome della tabella può essere scritto indifferentemente in MAIUSCOLO o in minuscolo, in ogni caso, però, è necessario che rispetti le seguenti regole:
# Può essere formato da lettere e numeri, ma il primo carattere deve sempre essere una lettera;
# Non può superare i 30 caratteri di lunghezza;
# Non può avere lo stesso nome di una tabella o [[vista (Database)|vista]] già esistente sullo stesso [[utente (Database)|utente]] di database.
<br>
La tabella può essere creata vuota (vedi la create table semplice) oppure può essere creata e riempita di dati (vedi la create table mediante [[select]]): nel secondo caso la struttura della tabella è definita implicitamente dal numero di [[colonna (Database)|colonne]] (o campi) estratti dalla select, dal [[tipo di dato (Database)|tipo di dato]] di ciascuna colonna e dai nomi delle rispettive colonne estratte dalla select (o dagli [[alias (Database)|alias]] ad esse applicati).
Nel caso in cui la tabella venga popolata in fase di creazione, la [[DML#la transazione|transazione]] viene automaticamente conclusa da un comando di [[DML#Commit|COMMIT]].
 
====Sintassi del comando create table====
* Create table semplice:
CREATE TABLE ''nome_tabella''(<br>
''nome_colonna1'' ''tipo di dato'' ''[[constraint (Database)|constraint]]'' (opzionale),
''nome_colonna2'' ''tipo di dato'' ''constraint'' (opzionale),
''nome_colonna3'' ''tipo di dato'' ''constraint'' (opzionale),
...
''nome_colonnaN'' ''tipo di dato'' ''constraint'' (opzionale) );
 
* Create table mediante select:
CREATE TABLE ''nome_tabella'' <br>
AS <br>
SELECT ...;
 
===Alter table===
Il comando ''alter table'' ha la funzione di modificare la struttura della tabella.
<br>
L'operatore ''ADD'' consente di inserire una nuova colonna su una tabella esistente oppure di aggiungere delle constraint alle colonne della tabella.
<br>
L'operatore ''MODIFY'' consente di cambiare il tipo di dato e/o la constraint propri di ogni colonna di una tabella.
<br>
L'operatore ''DROP'' consente di eliminare la constraint dalla colonna.
 
====Sintassi del comando alter table====
=====Operatore add=====
* Inserimento di una nuova colonna:
ALTER TABLE ''nome_tabella'' <br>
ADD ''nome_colonna_nuova tipo di dato constraint'';
* Aggiunta di una chiave primaria (primary key):
ALTER TABLE ''nome_tabella'' <br>
ADD CONSTRAINT ''nome_tabella_pk''
PRIMARY KEY (''nome_colonna'' che funge da chiave primaria);
* Aggiunta di una chiave esterna (foreign key) ereditata da un'altra tabella:
ALTER TABLE ''nome_tabella_figlia'' <br>
ADD CONSTRAINT ''nome_tabella_figlia_fk''
FOREIGN KEY (''nome_colonna'' che funge da chiave esterna sulla tabella figlia)
REFERENCES ''nome_tabella_padre'' (''nome_colonna'' che funge da chiave primaria sulla tabella padre);
=====Operatore modify=====
* Modifica del tipo di dato di una colonna:
ALTER TABLE ''nome_tabella'' <br>
MODIFY ''nome_colonna tipo di dato nuovo'';
* Modifica della constraint di una colonna:
ALTER TABLE ''nome_tabella'' <br>
MODIFY ''nome_colonna constraint nuova'';
=====Operatore drop=====
* Eliminazione della chiave primaria:
ALTER TABLE ''nome_tabella'' <br>
DROP PRIMARY KEY;
* Eliminazione della chiave esterna:
ALTER TABLE ''nome_tabella_figlia'' <br>
DROP CONSTRAINT ''nome_tabella_figlia_fk'';
 
===Drop table===
Il comando ''drop table'' consente di distruggere una tabella, eliminandola fisicamente dal database.
<br>
Come tutti i comandi DDL è un'operazione irreversibile, e provoca la perdita di tutti i dati contenuti nella tabellla.
 
====Sintassi del comando alter table====
DROP TABLE ''nome_tabella'';
 
===Rename===
Il comando ''rename'' consente di rinominare una tabella.
 
====Sintassi del comando rename====
RENAME ''nome_tabella'' TO ''nuovo_nome_tabella'';
 
[[Categoria:Acronimi]]