DDL-SQL: Unterschied zwischen den Versionen
Aus FI-Wiki
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 43: | Zeile 43: | ||
<syntaxhighlight lang="sql"> | <syntaxhighlight lang="sql"> | ||
ALTER TABLE kunde | ALTER TABLE kunde | ||
ADD geburtsdatum DATE; | ADD COLUMN geburtsdatum DATE; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 57: | Zeile 57: | ||
<syntaxhighlight lang="sql"> | <syntaxhighlight lang="sql"> | ||
ALTER TABLE kunde | ALTER TABLE kunde | ||
RENAME COLUMN name TO vorname; | |||
</syntaxhighlight> | |||
==== Datentyp ändern: ==== | |||
<syntaxhighlight lang="sql"> | |||
ALTER TABLE kunde | |||
MODIFY COLUMN vorname VARCHAR(200); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 65: | Zeile 71: | ||
RENAME TO kunden; | RENAME TO kunden; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== DROP TABLE === | === DROP TABLE === | ||
Zeile 77: | Zeile 84: | ||
Beispiele: | Beispiele: | ||
* PRIMARY KEY – Eindeutige Identifikation | * ''' PRIMARY KEY ''' – Eindeutige Identifikation | ||
* FOREIGN KEY – Referenz auf andere Tabelle | * ''' FOREIGN KEY ''' – Referenz auf andere Tabelle | ||
* NOT NULL – Wert muss angegeben werden | * ''' NOT NULL ''' – Wert muss angegeben werden | ||
* UNIQUE – Jeder Wert muss eindeutig sein | * ''' UNIQUE ''' – Jeder Wert muss eindeutig sein | ||
* CHECK – Bedingung muss erfüllt sein | * ''' CHECK ''' – Bedingung muss erfüllt sein | ||
<syntaxhighlight lang="sql"> | <syntaxhighlight lang="sql"> |
Aktuelle Version vom 4. Juni 2025, 14:36 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);