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

DDL-Kommandos werden nicht protokolliert (kein Rollback!) und setzen entsprechende Berechtigungen voraus.
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;
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 #
enthaltenTabellenname darf maximal 30 Zeichen lang sein
💡 Aufgabe 3
Öffne die Datei in Azure Data Studio und löse die Aufgaben.
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.
Last updated
Was this helpful?