CREATE TABLE wird in MariaDB für die Er­stel­lung neuer Tabellen genutzt. Da diese innerhalb der Datenbank ein­zig­ar­tig sein müssen, gibt es die Optionen OR REPLACE und IF NOT EXISTS, mit denen Dopp­lun­gen und Feh­ler­mel­dun­gen ver­hin­dert werden.

Was ist CREATE TABLE für MariaDB?

Die Anweisung CREATE TABLE wird in MariaDB verwendet, um eine neue Tabelle zu erstellen, die dann im Anschluss mit Daten gefüllt werden kann. Da MariaDB ein re­la­tio­na­les Da­ten­bank­ma­nage­ment­sys­tem (DBMS) ist, dienen diese Tabellen als Basis für sämtliche Spei­cher­vor­gän­ge. Bereits während der Er­stel­lung werden die einzelnen Spalten definiert und dabei vor allem fest­ge­legt, für welche Da­ten­ty­pen diese vor­ge­se­hen sein sollen. Tabellen sind innerhalb einer neu­erstell­ten Datenbank – MariaDB CREATE DATABASE – ein­zig­ar­tig, sodass eine Feh­ler­mel­dung erscheint, wenn eine Tabelle mit demselben Namen bereits existiert. In den folgenden Ab­schnit­ten erklären wir, wie Sie CREATE TABLE in MariaDB anwenden und welche Spe­zi­fi­ka­tio­nen Sie nutzen können.

Managed Database Services
Da­ten­ban­ken – Auf´s We­sent­li­che kon­zen­trie­ren
  • IONOS Cloud-Partner: Die Experten für Ihren Datenbank-Betrieb
  • Flexibel: Maß­ge­schnei­der­te Datenbank-Lösungen ganz auf Ihre Be­dürf­nis­se
  • Re­chen­zen­tren in Deutsch­land: Ihre Daten sind sicher

Syntax und Funk­ti­ons­wei­se

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,
	…
);
sql

Dabei erstellen Sie zunächst eine neue Tabelle, der Sie einen ei­gen­stän­di­gen Namen anstelle des Platz­hal­ters „Name_der_Tabelle“ geben. Erlaubt sind dabei alle Zeichen des ASCII-Codes. An­schlie­ßend spe­zi­fi­zie­ren Sie die einzelnen Spalten. Jede dieser Spalten erhält einen eigenen Namen und den Datentyp, der innerhalb dieser Spalte hin­ter­legt werden darf. Alle Spalten werden durch Kommata von­ein­an­der getrennt.

OR REPLACE und IF NOT EXISTS

Da Tabellen ein­zig­ar­tig sein müssen, erhalten Sie eine Feh­ler­mel­dung, falls bereits eine gleich­na­mi­ge Tabelle existiert. Um dieses Problem zu umgehen, haben Sie zwei Mög­lich­kei­ten: Die Option OR REPLACE überprüft, ob eine Tabelle mit demselben Namen bereits in der Datenbank existiert. Ist dies der Fall, wird die alte Tabelle durch die neue ersetzt. An­dern­falls wird die neue Tabelle einfach erstellt. 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,
	…
);
sql

Beachten Sie dabei al­ler­dings, dass die alte Tabelle über­schrie­ben wird und dadurch mögliche Inhalte verloren gehen. Die Option funk­tio­niert als Kurzform dieses Codes:

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,
	…
);
sql

Eine weitere Mög­lich­keit, um Dopp­lun­gen be­zie­hungs­wei­se die dar­auf­fol­gen­den Feh­ler­mel­dun­gen zu umgehen, ist die Option IF NOT EXISTS. Diese überprüft, ob eine na­mens­glei­che Tabelle bereits in der Datenbank geführt wird. Ist dies der Fall, erhalten Sie lediglich eine Be­nach­rich­ti­gung und es wird keine Tabelle über­schrie­ben. Gibt es keine Tabelle unter diesem Namen, wird eine neue Tabelle erstellt. Die ent­spre­chen­de Syntax sieht so aus:

CREATE TABLE IF NOT EXISTS Name_der_Tabelle(
	Name_der_ersten_Spalte Datentyp_der_ersten_Spalte,
	Name_der_zweiten_Spalte Datentyp_der_zweiten_Spalte,
	…
);
sql

Beispiel für CREATE TABLE in MariaDB

Die Funk­ti­ons­wei­se von CREATE TABLE in MariaDB lässt sich am ein­fachs­ten mit einem kleinen Beispiel ver­an­schau­li­chen. Dafür erstellen wir eine Tabelle für eine fiktive Pro­jekt­lis­te mit insgesamt acht Spalten. Diese sieht so aus:

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)
);
sql

Im ersten Schritt erstellen wir so eine neue Tabelle und nennen sie „Projekte“. In den folgenden Zeilen spe­zi­fi­zie­ren wir die einzelnen Spalten:

  • pro­jekt­num­mer: In dieser Spalte wird dem Projekt eine in­di­vi­du­el­le Nummer zugeteilt. Sie wird als Pri­mär­schlüs­sel behandelt und dient damit zur klaren Zuteilung jeder einzelnen Zeile. Durch AUTO_INCREMENT weisen wir das Programm an, die Einträge in „pro­jekt­num­mer“ au­to­ma­tisch fort­zu­füh­ren, um so eine ein­heit­li­che Rei­hen­fol­ge zu ge­währ­leis­ten.
  • nachname: Hier wird der Nachname des Kunden oder der Kundin ein­ge­tra­gen. Der Eintrag darf eine Abfolge von bis zu 50 Zeichen umfassen. Durch NOT NULL legen wir fest, dass diese Spalte nicht leer­blei­ben darf.
  • vorname: Die Spalte „vorname“ funk­tio­niert nach einem ähnlichen Prinzip wie die vor­an­ge­gan­ge­ne Spalte. Da der Vorname al­ler­dings nicht ob­li­ga­to­risch für die Ab­rech­nung ist, kann diese Spalte auch leer­blei­ben.
  • anfang: Hier wird der Beginn eines fort­lau­fen­den Projekts hin­ter­legt. Die zu­läs­si­gen Werte sind ein Datum im ein­ge­stell­ten Da­tums­for­mat oder der Nullwert.
  • ende: „ende“ be­schreibt die Deadline oder den tat­säch­li­chen Abschluss eines Projektes. Auch diese Werte dürfen im Format DATE oder NULL sein.
  • kosten: In dieser Spalte wird der Rech­nungs­be­trag auf­ge­lis­tet. Er wird im Format DOUBLE hin­ter­legt.
  • aufgaben: Unter „aufgaben“ ist Platz für eine kurze Be­schrei­bung der Ser­vice­leis­tun­gen, die für das Projekt durch­ge­führt wurden. Die Spalte bietet Platz für bis zu 255 Zeichen und darf nicht leer­blei­ben.
  • created_at: In der letzten Spalte wird das Datum der je­wei­li­gen Pro­jekter­stel­lung hin­ter­legt. Basis dafür ist die aktuelle Uhrzeit und Da­tums­an­ga­be des Systems.
Tipp

In unserem Digital Guide erfahren Sie alles Wichtige über MariaDB. So erklären wir zum Beispiel, wie Sie den Befehl MariaDB CREATE USER nutzen. Auch einen großen Vergleich von MariaDB und MySQL sowie alles Wis­sens­wer­te zur In­stal­la­ti­on von MariaDB finden Sie dort.

Zum Hauptmenü