|
|
OracleLEZIONI - INSERIRE INFORMAZIONI NELLE TABELLE DML è l'acronimo di Data Manipulation Language, ovvero un sottoinsieme di comandi SQL che consentono agli utenti di operare sui dati di un database: sono inclusi i comandi:
Sono disponibili anche altri comandi DML. Ma noi ci soffermeremo esclusivamente su quelli appena elencati, che sono i più utilizzati. I comandi DML si distinguono da quelli DDL (Data Definition Language) in quanto questi ultimi sono utilizzati per creare, modificare, cancellare o rinominare le strutture logiche. Alcuni esempi di comandi D.D.L.: Inserire righe in una tabellaIl comando Sintassi del comando INSERT INSERT INTO <nome tabella> <(nomi di colonna)> VALUES <(valori di input)>; Se vogliamo inserire una riga e dare un valore a tutti i campi (colonne) di cui è composta, possiamo omettere il parametro Nella lezioni precedenti abbiamo creato una tabella "contatti". Facciamo riferimento alla struttura di questa tabella che ci servirà per meglio comprendere il comando Figura 1. Struttura della tabella "contatti" Proviamo ora ad inserire alcune nuove righe. SQL> INSERT INTO contatti VALUES (1, 'Ranzani', 'Daniele',
2 'Via Casale, 35', 'Ardea', 'RM', '00040', '06/768766', NULL,
3 'daniele.ranzani@mymail.it', TO_DATE ('28-Dic-1965', 'DD-MON-YYYY'),
4 'Coniugato');
Visualizziamo il contenuto della tabella con la seguente query SQL> SELECT * FROM contatti; Sarà visualizzata la riga appena inserita. Analizziamo il comando
la funzione Inseriamo una nuova riga: SQL> INSERT INTO contatti VALUES (2, 'Rossi', 'Maria',
2 'Via San Luca, 43', 'Martina Franca', 'TA', '74015', '080/764646', '333-123456',
3 'maria.rossi@myworld.it', TO_DATE ('13-Mar-1974', 'DD-MON-YYYY'),
4 'Nubile');
Nell'esempio successivo vediamo invece come è possibile inserire una nuora riga quando non siamo a conoscenza dei dati per tutte le colonne. In questo caso conosciamo solamente tre valori di colonna. Per le rimanenti nove colonne Oracle inserirà valori NULL. SQL> INSERT INTO contatti (IDContatto, Cognome, Nome) VALUES (3, 'Ferrarris', 2 'Nunzio'); Proviamo ora ad inserire alcune righe in una tabella che è formata anche da alcune colonne che accettano valori di Figura 1. Struttura della tabella "impiegati" Inseriamo quindi le seguenti righe: SQL> INSERT INTO impiegati VALUES (1, 'Rastrelli Marco', DEFAULT, 'Pomezia',
2 DEFAULT);
SQL> INSERT INTO impiegati VALUES (2, 'Rosolini Francesca',
2 TO_DATE ('12-Mar-2006', 'DD-MON-YYYY'), DEFAULT, DEFAULT);
Nel primo esempio abbiamo espressamente usato la clausola Nel secondo esempio abbiamo utilizzato la clausola Nella precedente lezione, come dicevamo prima, abbiamo anche visto il metodo per creare copie di tabelle, includendo sia la struttura che i dati contenuti nella tabella di origine. Il seguente è stato un esempio: SQL> CREATE TABLE copia_contatti 2 AS SELECT * FROM contatti; Considerato che nel corso della lezione precedente la tabella contatti era priva di righe, allora abbiamo potuto creare solamente la struttura della tabella "copia_contatti". Vediamo ora una forma particolare di SQL> INSERT INTO copia_contatti 2 SELECT * FROM contatti 3 WHERE (IDContatto >= 2) AND (IDContatto <= 5); Sono state inserite nella tabella copia_contatti, che ha la stessa struttura della tabella contatti, le righe provenienti dalla tabella contatti che soddisfano la condizione specificata con ls clausola |