Teradata - Manipolazione dei dati

Questo capitolo introduce i comandi SQL utilizzati per manipolare i dati memorizzati nelle tabelle Teradata.

Inserisci record

L'istruzione INSERT INTO viene utilizzata per inserire record nella tabella.

Sintassi

Di seguito è riportata la sintassi generica per INSERT INTO.

INSERT INTO <tablename> 
(column1, column2, column3,…) 
VALUES 
(value1, value2, value3 …);

Esempio

L'esempio seguente inserisce i record nella tabella dei dipendenti.

INSERT INTO Employee (
   EmployeeNo, 
   FirstName, 
   LastName, 
   BirthDate, 
   JoinedDate, 
   DepartmentNo 
)
VALUES ( 
   101, 
   'Mike', 
   'James', 
   '1980-01-05', 
   '2005-03-27', 
   01
);

Una volta inserita la query precedente, è possibile utilizzare l'istruzione SELECT per visualizzare i record dalla tabella.

EmployeeNo Nome di battesimo Cognome JoinedDate DepartmentNo Data di nascita
101 Mike James 27/3/2005 1 1/5/1980

Inserisci da un'altra tabella

L'istruzione INSERT SELECT viene utilizzata per inserire record da un'altra tabella.

Sintassi

Di seguito è riportata la sintassi generica per INSERT INTO.

INSERT INTO <tablename> 
(column1, column2, column3,…) 
SELECT 
column1, column2, column3… 
FROM  
<source table>;

Esempio

L'esempio seguente inserisce i record nella tabella dei dipendenti. Creare una tabella denominata Employee_Bkup con la stessa definizione di colonna della tabella Employee prima di eseguire la seguente query di inserimento.

INSERT INTO Employee_Bkup ( 
   EmployeeNo, 
   FirstName, 
   LastName, 
   BirthDate, 
   JoinedDate, 
   DepartmentNo 
) 
SELECT 
   EmployeeNo, 
   FirstName, 
   LastName, 
   BirthDate, 
   JoinedDate,
   DepartmentNo 
FROM  
   Employee;

Quando la query precedente viene eseguita, inserirà tutti i record dalla tabella dei dipendenti nella tabella dipendente_bkup.

Regole

  • Il numero di colonne specificato nell'elenco VALUES deve corrispondere alle colonne specificate nella clausola INSERT INTO.

  • I valori sono obbligatori per le colonne NOT NULL.

  • Se non viene specificato alcun valore, viene inserito NULL per i campi nullable.

  • I tipi di dati delle colonne specificati nella clausola VALUES devono essere compatibili con i tipi di dati delle colonne nella clausola INSERT.

Aggiorna record

L'istruzione UPDATE viene utilizzata per aggiornare i record dalla tabella.

Sintassi

Di seguito è riportata la sintassi generica per UPDATE.

UPDATE <tablename> 
SET <columnnamme> = <new value> 
[WHERE condition];

Esempio

L'esempio seguente aggiorna il reparto dei dipendenti a 03 per il dipendente 101.

UPDATE Employee 
SET DepartmentNo = 03 
WHERE EmployeeNo = 101;

Nell'output seguente, puoi vedere che DepartmentNo è aggiornato da 1 a 3 per EmployeeNo 101.

SELECT Employeeno, DepartmentNo FROM Employee; 
*** Query completed. One row found. 2 columns returned. 
*** Total elapsed time was 1 second.  
EmployeeNo    DepartmentNo 
-----------  ------------- 
   101             3

Regole

  • È possibile aggiornare uno o più valori della tabella.

  • Se la condizione WHERE non è specificata, tutte le righe della tabella sono interessate.

  • È possibile aggiornare una tabella con i valori di un'altra tabella.

Elimina record

L'istruzione DELETE FROM viene utilizzata per aggiornare i record dalla tabella.

Sintassi

Di seguito è riportata la sintassi generica per DELETE FROM.

DELETE FROM  <tablename> 
[WHERE condition];

Esempio

Il seguente esempio elimina il dipendente 101 dalla tabella Employee.

DELETE FROM Employee 
WHERE EmployeeNo = 101;

Nell'output seguente, puoi vedere che il dipendente 101 è stato eliminato dalla tabella.

SELECT EmployeeNo FROM Employee;  
*** Query completed. No rows found. 
*** Total elapsed time was 1 second.

Regole

  • È possibile aggiornare uno o più record della tabella.

  • Se la condizione WHERE non è specificata, tutte le righe della tabella vengono eliminate.

  • È possibile aggiornare una tabella con i valori di un'altra tabella.