SQL CREATE TABLE: So erstellen Sie eine neue Tabelle

SQL CREATE TABLE wird genutzt, um eine neue Tabelle zu erstellen. Diese muss innerhalb einer Datenbank einzigartig sein. Beim Anlegen werden bereits wichtige Parameter festgelegt und es ist möglich, eine bereits existierende Tabelle als Basis zu nutzen.

Was ist SQL CREATE TABLE?

Nachdem Sie mit der Structured Query Language eine SQL-Datenbank erstellt haben, können Sie eine neue Tabelle erschaffen. Diese wird genutzt, um Ihre Datensätze zu speichern und gibt die Struktur vor, in der diese Daten aufbereitet werden sollen. Tabellen bestehen zum einen aus Feldern oder Spalten, die bestimmte Datentypen enthalten dürfen, und zum anderen aus Zeilen, in denen diese Daten gelistet werden. Um eine neue Tabelle anzulegen, nutzen Sie die Anweisung SQL CREATE TABLE. Mit dieser hinterlegen Sie nicht nur die neue Tabelle, sondern bestimmen auch bereits, wie sie strukturiert werden soll. Im Anschluss füllen Sie sie mit den entsprechenden Daten.

vServer (VPS) von IONOS

Günstige und starke VPS für Webserver, Mailserver und eigene Anwendungen mit persönlichem Berater und 24/7 Support!

100 % SSD-Speicher
Bereit in 55 Sek.
SSL Zertifikat

Syntax und Funktionsweise

Bereits mit einem Blick auf die Syntax von SQL CREATE TABLE können Sie feststellen, dass Datentypen und Bezeichnungen von Beginn an obligatorisch für die korrekte Erstellung einer neuen Tabelle sind. Die Syntax sieht grundsätzlich aus wie folgt:

CREATE TABLE name_der_tabelle (
spalte1 datentyp,
spalte2 datentyp,
spalte3 datentyp,
…
);
sql

Mit dem SQL-Befehl CREATE TABLE erstellen Sie eine neue Tabelle, deren Namen Sie bereits ebenfalls in der ersten Zeile anlegen. Innerhalb der Klammern wird diese Tabelle dann spezifiziert. So wählen Sie jeweils eine Bezeichnung für spalte1, spalte2 usw. und geben dazu an, welche Datentypen in dieser Spalte hinterlegt werden können. Häufig genutzte Datentypen sind zum Beispiel VARCHAR (ein String, der Buchstaben, Zahlen oder Sonderzeichen enthalten kann), BOOLEAN (für die booleschen Werte true oder false), INT (für Zahlenwerte) oder DATE (für Datumsangaben).

Beispiel für eine neue Tabelle

Um die Funktionsweise von SQL CREATE TABLE zu veranschaulichen, zeigen wir Ihnen an dieser Stelle anhand eines einfachen Beispiels, wie eine solche Tabelle aussehen kann. Dafür legen wir ein Mitarbeiterverzeichnis an, das eine Mitarbeiter-ID, den Nachnamen, den Vornamen, die Adresse, die Stadt und das Alter enthält. Wir benötigen also insgesamt sechs Spalten, die unterschiedliche Datentypen speichern können. So sieht der passende Code aus:

CREATE TABLE Mitarbeiter (
ID INT NOT NULL,
Nachname VARCHAR(50),
Vorname VARCHAR(50),
Adresse VARCHAR(50),
Stadt VARCHAR(50),
Alter INT NOT NULL
);
sql

Für ID und Alter wählen wir den Datentyp INT, der Zahlen enthält. Der Zusatz NOT NULL legt fest, dass diese Felder nicht freibleiben dürfen. Die restlichen Spalten Nachname, Vorname, Adresse und Stadt dürfen Buchstaben, Zahlen und Sonderzeichen enthalten.

Kombination mit dem Befehl IF NOT EXISTS

Jede Tabelle muss innerhalb einer Datenbank einzigartig sein, damit das System auch darauf zugreifen kann. Wenn Sie also versuchen, eine neue Tabelle mit SQL CREATE TABLE anzulegen und dabei einen Namen wählen, der bereits vergeben ist, erhalten Sie eine Fehlermeldung wie Error: table already exists. Um dies zu vermeiden, können Sie den optionalen Befehl IF NOT EXISTS hinzufügen. Dieser überprüft zunächst, ob es bereits eine Tabelle mit demselben Namen gibt. Nur wenn dies nicht der Fall ist, erstellt er eine neue Tabelle mit den hinterlegten Parametern. Für unser Beispiel von oben sieht er folgendermaßen aus:

CREATE TABLE IF NOT EXISTS Mitarbeiter (
ID INT NOT NULL,
Nachname VARCHAR(50),
Vorname VARCHAR(50),
Adresse VARCHAR(50),
Stadt VARCHAR(50),
Alter INT NOT NULL
);
sql

Eine neue Tabelle auf Basis einer vorhandenen Tabelle erstellen

Auch wenn die Anweisung recht einfach funktioniert, kann es mühselig sein, falls Sie mehrere ähnliche Tabellen erstellen müssen. SQL CREATE DATABASE gibt Ihnen daher auch die Möglichkeit, für die Erstellung einer neuen Tabelle auf eine bereits existierende zurückzugreifen. Dabei haben Sie die Wahl, ob Sie eine exakte Kopie erstellen oder nur bestimmte Parameter berücksichtigen möchten. Wir zeigen Ihnen beide Verfahrensweisen. Im ersten Fall erstellen wir eine Mitarbeiterliste für eine andere Niederlassung. Diese soll also identisch aufgebaut werden, benötigt aber einen neuen Namen. Dies ist der Code:

CREATE TABLE Neue_Mitarbeiterliste
AS
SELECT *
FROM Mitarbeiter;
sql

Durch das Sternchen zeigen wir dem System an, dass es alle Spalten übernehmen soll.

Im nächsten Beispiel erstellen wir eine Kundenliste. Diese soll zwar ebenfalls die Spalten für ID, Nachname, Vorname, Adresse und Stadt enthalten; das Geburtsdatum soll hingegen nicht angelegt werden. Daher legen wir genau fest, welche Spalten kopiert werden sollen:

CREATE TABLE Kundenliste
AS
SELECT ID, Nachname, Vorname, Adresse, Stadt
FROM Mitarbeiter;
sql

Ähnliche Befehle wie SQL CREATE TABLE

Neben dem bereits angesprochenen CREATE DATABASE gibt es weitere Anweisungen, die wichtig für die Arbeit mit SQL CREATE TABLE sind. Dazu gehören insbesondere SQL DELETE, mit der Sie Einträge aus einer Tabelle löschen, und die SQL Aliases, mit denen Sie Tabellen oder Spalten zeitweise umbenennen.

Tipp

Ihr ganz persönlicher Server: Mit SQL-Server-Hosting von IONOS wählen Sie nicht nur zwischen MSSQL, MySQL und MariaDB, sondern profitieren auch von zahlreichen nützlichen Features. Finden Sie die passende Lösung für Ihre Ansprüche!