📖💡 DDL – Data Definition Language

Die Data Definition Language (DDL) wird zum Anlegen, Warten und Löschen von Datenbankobjekten verwendet.

Datenbankobjekte sind Objekte, die ausschliesslich mit CREATE angelegt werden.

Datenbank anlegen

Eine neue Datenbank wird in der master-Datenbank angelegt:

USE master;

Bevor Datenbankobjekte angelegt werden können, muss das "Gefäss" dafür existieren: Die Datenbank.

CREATE DATABASE database_name;

Datenbanken lassen sich nur als Mitglied von bestimmten Gruppen bzw. als Inhaber von bestimmten Rollen anlegen. Nach dem Anlegen einer Datenbank ist diese betriebsbereit, aber noch ohne Strukturen und ohne Inhalt.

Mit USE database_name wird bestimmt, dass auf der DB-Instanz diese DB verwendet wird.

CREATE DATABASE database_name
GO
USE database_name;

GO: Batch-Trennzeichen, ist keine SQL-Anweisung, sondern Editor-Befehl, eine Steueranweisung: Stapel von SQL-Anweisungen werden einzeln zum Server geschickt.

RETURN: Bewirkt sofortige Beendigung eines Stapels und springt zur nächsten Anweisung nach dem GO.

Datenbank umbenennen

ALTER DATABASE database_name MODIFY Name = other_database_name;

Tabelle anlegen

Mit dem Befehl CREATE TABLE kann eine neue Tabelle erstellt werden. Der Befehl ist nach dem folgenden Schema aufgebaut:

CREATE TABLE table_name (
		spalte1 datentyp [ NULL | NOT NULL ] ,
		spalte2 datentyp [ NULL | NOT NULL ] ,
		spaltex datentyp [ NULL | NOT NULL ]
);

Beispiel:

CREATE TABLE kurse (
    kursid int NOT NULL, 
    kursname varchar(50) NOT NULL, 
    beginn smalldatetime, 
    ende smalldatetime
);

Alternative: Tabelle über SELECT anlegen

# SQL Server
SELECT * INTO neuetabelle FROM … ;

# Oracle
CREATE TABLE neuetabelle as SELECT … ;

Restriktionen bei Oracle

  • Tabellenname muss mit einem Buchstaben beginnen und darf nur A-Z, a-z, 0-9, _, $ und # enthalten

  • Tabellenname darf maximal 30 Zeichen lang sein

💡 Aufgabe 3

Öffne die Datei in Azure Data Studio und löse die Aufgaben.

Aufgabe 3 - Datenbank erstellen

Tabelle ändern

Spalte hinzufügen

ALTER TABLE table_name ADD spalte datentyp [NOT NULL];

Spalte ändern (z.B. Datentyp oder NOT NULL)

ALTER TABLE table_name ALTER COLUMN spalte datentyp [NOT NULL];

Spalte löschen

ALTER TABLE table_name DROP COLUMN spalte;

Tabelle löschen

Dieser Befehl löscht die gesamte Tabellenstruktur aus der Datenbank:

DROP TABLE table_name;

Im Vergleich dazu das Löschen von Tabelleninhalt

TRUNCATE (DDL)

Löscht alle Datensätze einer Tabelle bedingungslos. Es ist eine sogenannte bulk-Operation (Massenoperation) und wird nicht protokolliert, weil es sich um ein einen DDL-Befehl handelt.

TRUNCATE TABLE table_name;

DELETE (DML)

Löscht alle Datensätze oder selektive (dazu mehr unter DML). Diese Operation wird protokolliert, da es sich um eine DML-Anweisung handelt.

DELETE FROM table_name 
[WHERE ...];

💡 Aufgabe 4

Öffne die Datei in Azure Data Studio und löse die Aufgaben.

Aufgabe 4 - Datenbank verändern

Last updated

Was this helpful?