In SQL erstellt man mit der Anweisung CREATE TABLE eine neue Tabelle.
CREATE TABLE Tabellenname(
Spalte1 Datentyp,
Spalte2 Datentyp,
...
);
Innerhalb der SQL CREATE TABLE Anweisung muss definiert werden, wie die enthaltenen Spalten heißen und zu welchem Datentypen sie gehören.
SQL CREATE TABLE - Beispiel
Ein Unternehmen möchte eine Kundentabelle erstellen. Darin sollen Namen und Anschriften stehen:
CREATE TABLE Kunden(
Kunden_ID INT,
Vorname VARCHAR(25),
Nachname VARCHAR(25),
Straße_Hausnr VARCHAR(30),
Stadt VARCHAR(30),
Postleitzahl CHAR(5)
);
Um die Tabelleneigenschaften zu erweitern, möchte der Unternehmer hinzufügen, dass die Kunden_ID, der Vorname und der Nachname der Kunden in der Tabelle niemals fehlen darf. Dazu fügt er zu den Spalten NOT NULL hinzu:
CREATE TABLE Kunden(
Kunden_ID INT,
Vorname VARCHAR(25),
Nachname VARCHAR(25),
Straße_Hausnr VARCHAR(30),
Stadt VARCHAR(30),
Postleitzahl CHAR(5)
);
Außerdem soll die Kunden_ID nicht doppelt vorkommen dürfen, da sie für jeden Kunden einmalig gelten muss, um z.B. zwei Mario Müller voneinander unterscheiden zu können. Dazu wird am Ende CONSTRAINT NeuerNameDesPrimärschlüssels PRIMARY KEY (Spalte) eingesetzt:
CREATE TABLE Kunden(
Kunden_ID INT NOT NULL,
Vorname VARCHAR(25) NOT NULL,
Nachname VARCHAR(25),
Straße_Hausnr VARCHAR(30),
Stadt VARCHAR(30),
Postleitzahl CHAR(5),
CONSTRAINT Primärschlüssel PRIMARY KEY (Kunden_ID)
);
Tabelle aus einer Abfrage erstellen
Um eine Tabelle aus einer Abfrage aus zu erstellen verbindet man die CREATE TABLE Anweisung mit AS und der gewünschten Abfrage:
CREATE TABLE Kunden AS
SELECT Kunden_ID, Vorname, Nachname, Straße_Hausnr, Stadt, Postleitzahl
FROM Bestellungen;
Aus der Bestellungen Tabelle werden die Spalten Kunden_ID, Vorname, Nachname, Straße_Hausnr, Stadt und Postleitzahl kopiert und in eine neue Tabelle eingefügt. Die Datentypen der Spalten werden übernommen.