Skip to Main Content

 

Auswahl  

Übersicht der wichtigsten DDL-Befehle 

Oracle
SQL
RDBMS 11.x
13.09.19 (MP)
12.07.23(MD)
Oracle DDL Befehle

Passende Schulungen zum Thema

Data Manipulation Language (DML)


Fügt neue Zeilen in eine Tabelle hinzu
  Syntax:

  INSERT INTO tabelle [(spalte, ...)] VALUES (value, ...);
  Beispiel:
  INSERT INTO emp
  (empno, ename, job, deptno)
  VALUES
  (8000,'HUBER','TRAINEE',40);
  INSERT INTO dept
  VALUES
  (50, 'HEAD_QUARTER', null);

Kopiert Zeilen aus einer anderen Tabelle
  Syntax:

  INSERT INTO  tabelle [(spalte ...)]
               unterabfrage


Beispiel:

  INSERT INTO emp_copy
  SELECT * FROM emp WHERE job = 'MANAGER';

 

Syntax:

UPDATE tabelle
SET spalte = value  ändert vorhandene Zeilen
[WHERE condition]  ändert bestimmte Zeilen 


Beispiel:


  UPDATE emp SET sal = 2000
  WHERE deptno = 10;
  UPDATE emp
  SET sal = 1111, comm = 1000, deptno = 50
  WHERE ename =  'HUBER';
  UPDATE emp
  SET (deptno, sal, comm) =
      (SELECT deptno, sal, comm
       FROM emp WHERE empno = 7499)
  WHERE ename =  'MILLER';



Löscht Zeilen aus einer Tabelle
  Syntax:

  DELETE FROM  tabelle
              [WHERE condition] 


  Beispiel:

  DELETE FROM emp
  WHERE job = 'TRAINEE';

  DELETE FROM emp
  WHERE deptno = (SELECT MIN(deptno)FROM emp);


Kombination von INSERT- und UPDATE-Anweisungen (ab 9i) 
  Syntax:

MERGE INTO   tabelle                   
               USING tabelle
               ON (condition) 
WHEN MATCHED THEN UPDATE
               SET (condition) 
WHEN NOT MATCHED THEN INSERT
              (condition)  


  Beispiel:

   MERGE INTO annsal a USING emp e
   ON (a.empno = e.empno)
   WHEN MATCHED THEN UPDATE
   SET a.peryear = (e.sal*12)
   WHEN NOT MATCHED THEN INSERT
   (a.empno, a.peryear)
   VALUES (e.empno, e.sal*12); 

Transaktionen

 

   COMMIT;                                               Datenänderungen werden permanent festgeschrieben
   ROLLBACK;                                           alle Änderungen werden zurückgesetzt
   ROLLBACK TO SAVEPOINT test;    alle vorgenommenen Änderungen werden bis zum SAVEPOINT zurückgesetzt
 

Sperrmechanismen

   SET TRANSACTION READ COMMITTED;  → (Standardeinstellung)
   SET TRANSACTION READ ONLY;           erlaubt nur Lesen der Daten, kein Ändern
 

Data Definition Language (DDL)

Erstellt Tabelle mit Spalten und -attributen 
  Syntax:    


   CREATE TABLE tabellenname   
               (spalte type(n), ...)


  Beispiel:

CREATE TABLE kollegen (
   k_nr number(3) NOT NULL,
   nname varchar2(20),
   ort varchar2(20) DEFAULT 'MÜNCHEN');


Datentypen
    ⇒z.B. number[(p,s)], varchar2(n), char[(n)], date

Erstellt Tabelle mittels Unterabfrage aus anderer Tabelle 
  Syntax: 

CREATE TABLE tabellenname 
          AS   subquery 


  Beispiel:

CREATE TABLE dept10 AS 
   SELECT empno, ename, sal*12 j_gehalt,
   hiredate FROM emp WHERE deptno = 10;


Fügt eine neue Spalte in eine Tabelle 
 Syntax: 

ALTER TABLE  tabellenname
          ADD  (spalte type(n), ...)


 Beispiel:

 ALTER TABLE kollegen ADD (email char(30));

 

Ändert eine vorhandene Spalte
  Syntax:

ALTER TABLE  tabellenname
            Modify (spalte type(n), ...)


  Beispiel:

ALTER TABLE kollegen 
   MODIFY (email varchar2(35));


Löscht eine Spalte aus einer Tabelle
  Syntax:

      DROP COLUMN spalte 


  Beispiel:

ALTER TABLE emp DROP COLUMN job;
   ALTER TABLE dept DROP COLUMN deptno
   CASCADE CONSTRAINTS;



Löscht die gesamte Tabelle unwiderruflich 
 Syntax:

DROP TABLE  tabellenname; 

Beispiel:
 

DROP TABLE kollegen;
DROP TABLE dept CASCADE CONSTRAINTS;


Benennt eine Tabelle um
  Syntax:

RENAME  table TO table_neu 


 Beispiel:     

RENAME kollegen TO ex_kollegen;

 

Leert eine Tabelle
  Syntax:
TRUNCATE TABLE tabellenname 

  Beispiel:     
TRUNCATE TABLE ex_kollegen;
 

Views

Bettet Unterabfrage in die Anweisung 'CREATE VIEW' mit ein
  Syntax:

CREATE VIEW  viewname    
                AS subquery 


  Beispiel:

CREATE OR REPLACE VIEW empvu20 (nr, nname,
   beruf) AS SELECT empno, ename, job FROM emp
   WHERE deptno = 20 WITH CHECK OPTION;

 

Löscht eine View
  Syntax:

DROP VIEW  viewname 


  Beispiel:

DROP VIEW empvu20;



Fügt Daten einer View hinzu
  Syntax:

 INSERT INTO  view [(spalte, ...)]  
                                VALUES (value, ...) 


  Beispiel:

INSERT INTO emp_view (empno, ename, deptno)
   VALUES (9000,'HUGO',20);


Benutzen einer Inline View als Datenquelle
 Syntax:

SELECT  spalte, spalte  
FROM tabelle alias,
(inline view) alias 
bedingung


  Beispiel:

SELECT a.ename, a.sal, a.deptno, b.maxsal  
   FROM emp a, (SELECT deptno, max(sal) maxsal       
                FROM emp GROUP BY deptno) b
   WHERE a.deptno = b.deptno
   AND a.sal<b.maxsal;


Top-N-Analysen ermitteln die größten bzw. kleinsten Werte einer Spalte
  Syntax:

SELECT rownum alias, spalte, ...   
   FROM (inline view   
   ORDER BY spalte)
   bedingung  


  Beispiel:

SELECT rownum rang, ename, sal
   FROM (SELECT ename, sal FROM emp
         ORDER BY sal desc)
   WHERE rownum< = 5;

Weitere Interessante Kurs-Tipps zum Thema