MariaDB: So erstellst du neue Tabellen für dein Projekt
CREATE TABLE wird in MariaDB für die Erstellung neuer Tabellen genutzt. Da diese innerhalb der Datenbank einzigartig sein müssen, gibt es die Optionen OR REPLACE und IF NOT EXISTS, mit denen Dopplungen und Fehlermeldungen verhindert werden.
Was ist CREATE TABLE für MariaDB?
Die Anweisung CREATE TABLE wird in MariaDB verwendet, um eine neue Tabelle zu erstellen, die du im Anschluss mit Daten füllen kannst. Da MariaDB ein relationales Datenbankmanagementsystem (DBMS) ist, dienen diese Tabellen als Basis für sämtliche Speichervorgänge. Bereits während der Erstellung werden die einzelnen Spalten definiert. Dabei legst du fest, für welche Datentypen diese vorgesehen sind. Innerhalb einer neu angelegten Datenbank – MariaDB CREATE DATABASE – müssen Tabellennamen einzigartig sein. Existiert bereits eine Tabelle mit demselben Namen, erscheint eine Fehlermeldung. In den folgenden Abschnitten erfährst du, wie du CREATE TABLE in MariaDB anwendest und welche Spezifikationen dir zur Verfügung stehen.
Syntax und Funktionsweise
Die generelle Syntax von CREATE TABLE in MariaDB folgt immer diesem Prinzip:
CREATE TABLE Name_der_Tabelle(
Name_der_ersten_Spalte Datentyp_der_ersten_Spalte,
Name_der_zweiten_Spalte Datentyp_der_zweiten_Spalte,
…
);sqlDabei erstellst du zunächst eine neue Tabelle und vergibst einen eigenen Namen anstelle des Platzhalters „Name_der_Tabelle“. Erlaubt sind alle Zeichen des ASCII-Codes. Anschließend definierst du die einzelnen Spalten. Jede dieser Spalten erhält einen eigenen Namen sowie den Datentyp, der darin gespeichert werden darf. Die Spalten werden durch Kommata getrennt.
OR REPLACE und IF NOT EXISTS
Da Tabellennamen eindeutig sein müssen, erhältst du eine Fehlermeldung, falls eine gleichnamige Tabelle bereits existiert. Um das zu vermeiden, hast du zwei Möglichkeiten: Die Option OR REPLACE prüft, ob der Name bereits vergeben ist. Falls ja, wird die alte Tabelle durch die neue ersetzt. Andernfalls wird die Tabelle einfach neu angelegt. Die Syntax dieser Anweisung sieht so aus:
CREATE OR REPLACE TABLE Name_der_Tabelle(
Name_der_ersten_Spalte Datentyp_der_ersten_Spalte,
Name_der_zweiten_Spalte Datentyp_der_zweiten_Spalte,
…
);sqlBedenke dabei, dass die alte Tabelle überschrieben wird und vorhandene Daten verloren gehen. Die Option dient als Abkürzung für diesen Code:
DROP TABLE IF EXISTS Name_der_Tabelle;
CREATE TABLE Name_der_Tabelle(
Name_der_ersten_Spalte Datentyp_der_ersten_Spalte,
Name_der_zweiten_Spalte Datentyp_der_zweiten_Spalte,
…
);sqlEine weitere Möglichkeit, um Dopplungen oder Fehlermeldungen zu umgehen, ist die Option IF NOT EXISTS. Diese prüft ebenfalls, ob eine namensgleiche Tabelle vorhanden ist. Ist dies der Fall, erhältst du lediglich einen Hinweis und es wird keine Tabelle überschrieben. Existiert noch keine Tabelle unter diesem Namen, wird sie neu erstellt. Die entsprechende Syntax lautet:
CREATE TABLE IF NOT EXISTS Name_der_Tabelle(
Name_der_ersten_Spalte Datentyp_der_ersten_Spalte,
Name_der_zweiten_Spalte Datentyp_der_zweiten_Spalte,
…
);sqlBeispiel für CREATE TABLE in MariaDB
Die Funktionsweise von CREATE TABLE in MariaDB lässt sich am besten an einem Beispiel zeigen. Wir erstellen eine Tabelle für eine fiktive Projektliste mit insgesamt 8 Spalten:
CREATE TABLE Projekte(
projektnummer INT AUTO_INCREMENT,
nachname VARCHAR(50) NOT NULL,
vorname VARCHAR(50),
anfang DATE,
ende DATE,
kosten DOUBLE,
aufgaben VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (projektnummer)
);sqlIm ersten Schritt legen wir die neue Tabelle mit dem Namen „Projekte“ an. Danach definieren wir die einzelnen Spalten:
- projektnummer: Hier bekommt jedes Projekt eine individuelle Nummer. Sie fungiert als Primärschlüssel zur eindeutigen Zuordnung jeder Zeile. Mit
AUTO_INCREMENTweisen wir das System an, die Nummern automatisch fortzuführen, damit alles glatt läuft. - nachname: Hier wird der Nachname der Kundschaft eingetragen (bis zu 50 Zeichen). Durch
NOT NULLlegen wir fest, dass dieses Feld ein Pflichtfeld ist. - vorname: Diese Spalte funktioniert ähnlich wie der Nachname. Da der Vorname für die Abrechnung optional ist, darf dieses Feld auch leer bleiben.
- anfang: Hier wird der Starttermin des Projekts hinterlegt. Zulässig sind ein Datum im vordefinierten Format oder ein Nullwert.
- ende: Beschreibt die Deadline oder den Projektabschluss. Auch hier sind die Formate
DATEoderNULLmöglich. - kosten: In dieser Spalte wird der Rechnungsbetrag im Format
DOUBLEgelistet. - aufgaben: Platz für eine kurze Leistungsbeschreibung (bis zu 255 Zeichen). Diese Spalte darf nicht leer bleiben.
- created_at: Hier wird automatisch das Datum der Projekterstellung basierend auf der Systemzeit gespeichert.