DDL-SQL: Unterschied zwischen den Versionen

Aus FI-Wiki
Die Seite wurde neu angelegt: „== Data Definition Language (DDL) in SQL == Die DDL (Data Definition Language) dient zur Erstellung, Veränderung und Löschung von Datenbankstrukturen wie Tabellen, Sichten und Indizes. Sie wird in der Regel einmalig beim Datenbankentwurf verwendet. === CREATE TABLE === Erzeugt eine neue Tabelle in der Datenbank. <syntaxhighlight lang="sql"> CREATE TABLE kunde ( kundennr INT PRIMARY KEY, name VARCHAR(50), email VARCHAR(100), telefon…“
 
(9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 2: Zeile 2:


Die DDL (Data Definition Language) dient zur Erstellung, Veränderung und Löschung von Datenbankstrukturen wie Tabellen, Sichten und Indizes. Sie wird in der Regel einmalig beim Datenbankentwurf verwendet.
Die DDL (Data Definition Language) dient zur Erstellung, Veränderung und Löschung von Datenbankstrukturen wie Tabellen, Sichten und Indizes. Sie wird in der Regel einmalig beim Datenbankentwurf verwendet.
=== CREATE DATABASE ===
Legt eine neue Datenbank an.
<syntaxhighlight lang="sql"> CREATE DATABASE firmenverwaltung; </syntaxhighlight>
Datenbank auswählen (je nach SQL-Dialekt, z. B. MySQL):
<syntaxhighlight lang="sql"> USE firmenverwaltung; </syntaxhighlight>
Optional mit Zeichensatz und Kollation:
<syntaxhighlight lang="sql"> CREATE DATABASE firmenverwaltung CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; </syntaxhighlight>


=== CREATE TABLE ===   
=== CREATE TABLE ===   
Zeile 28: Zeile 39:
Verändert eine bestehende Tabelle – z. B. Spalten hinzufügen, ändern oder löschen.
Verändert eine bestehende Tabelle – z. B. Spalten hinzufügen, ändern oder löschen.


Spalte hinzufügen:
==== Spalte hinzufügen: ====


<syntaxhighlight lang="sql">
<syntaxhighlight lang="sql">
ALTER TABLE kunde
ALTER TABLE kunde
ADD geburtsdatum DATE;
ADD COLUMN geburtsdatum DATE;
</syntaxhighlight>
</syntaxhighlight>


Spalte löschen:
==== Spalte löschen: ====


<syntaxhighlight lang="sql">
<syntaxhighlight lang="sql">
Zeile 42: Zeile 53:
</syntaxhighlight>
</syntaxhighlight>


Spalte umbenennen (syntaxabhängig, z. B. MySQL):
==== Spalte umbenennen: ====
 
<syntaxhighlight lang="sql">
ALTER TABLE kunde
RENAME COLUMN name TO vorname;
</syntaxhighlight>
 
==== Datentyp ändern: ====
<syntaxhighlight lang="sql">
ALTER TABLE kunde
MODIFY COLUMN vorname VARCHAR(200);
</syntaxhighlight>


==== Tabelle umbenennen: ====
<syntaxhighlight lang="sql">
<syntaxhighlight lang="sql">
ALTER TABLE kunde
ALTER TABLE kunde
CHANGE name vorname VARCHAR(50);
RENAME TO kunden;
</syntaxhighlight>
</syntaxhighlight>


=== DROP TABLE ===   
=== DROP TABLE ===   
Zeile 81: Zeile 105:
ON kunde(name);
ON kunde(name);
</syntaxhighlight>
</syntaxhighlight>
[[Kategorie:Datenbanken]]

Version vom 4. Juni 2025, 12:13 Uhr

Data Definition Language (DDL) in SQL

Die DDL (Data Definition Language) dient zur Erstellung, Veränderung und Löschung von Datenbankstrukturen wie Tabellen, Sichten und Indizes. Sie wird in der Regel einmalig beim Datenbankentwurf verwendet.

CREATE DATABASE

Legt eine neue Datenbank an.

 CREATE DATABASE firmenverwaltung;

Datenbank auswählen (je nach SQL-Dialekt, z. B. MySQL):

 USE firmenverwaltung;

Optional mit Zeichensatz und Kollation:

 CREATE DATABASE firmenverwaltung CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

CREATE TABLE

Erzeugt eine neue Tabelle in der Datenbank.

CREATE TABLE kunde (
    kundennr INT PRIMARY KEY,
    name VARCHAR(50),
    email VARCHAR(100),
    telefon VARCHAR(20)
);
CREATE TABLE bestellung (
    bestellnr INT PRIMARY KEY,
    datum DATE,
    gesamtbetrag DECIMAL(10,2),
    kundennr INT,
    FOREIGN KEY (kundennr) REFERENCES kunde(kundennr)
);

ALTER TABLE

Verändert eine bestehende Tabelle – z. B. Spalten hinzufügen, ändern oder löschen.

Spalte hinzufügen:

ALTER TABLE kunde
ADD COLUMN geburtsdatum DATE;

Spalte löschen:

ALTER TABLE kunde
DROP COLUMN telefon;

Spalte umbenennen:

ALTER TABLE kunde
RENAME COLUMN name TO vorname;

Datentyp ändern:

ALTER TABLE kunde
MODIFY COLUMN vorname VARCHAR(200);

Tabelle umbenennen:

ALTER TABLE kunde
RENAME TO kunden;


DROP TABLE

Löscht eine Tabelle vollständig und unwiderruflich.

DROP TABLE bestellung;

CONSTRAINTS (Einschränkungen)

Definieren Regeln für Spalten.

Beispiele:

  • PRIMARY KEY – Eindeutige Identifikation
  • FOREIGN KEY – Referenz auf andere Tabelle
  • NOT NULL – Wert muss angegeben werden
  • UNIQUE – Jeder Wert muss eindeutig sein
  • CHECK – Bedingung muss erfüllt sein
CREATE TABLE produkt (
    produktnr INT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    preis DECIMAL(10,2) CHECK (preis > 0)
);

CREATE INDEX

Erstellt einen Index zur Verbesserung der Abfragegeschwindigkeit.

CREATE INDEX idx_kunde_name
ON kunde(name);