Auswahl  

Übersicht der wichtigsten DDL-Befehle 

SQL
13.09.19 (MP)
25.03.20

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';


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

  Syntax:
  UPDATE  tabelle
  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

Übersicht der wichtigsten DDL-Befehle (Teil 2)
Dynamische Ausführung von Befehlen
Übersicht der wichtigsten DML Befehle
Übersicht der wichtigsten SQL-Befehle

Besuchen Sie uns doch bei einer unsere über 50 Oracle Schulungen in München - Unterhaching, oder verfolgen Sie die Training per Videostreaming bequem vom Home Office oder Büro aus.