Erste Schritte mit MySQL CREATE TABLE: Syntax und praktische Beispiele
Lukas Schneider
DevOps Engineer · Leapcell

Key Takeaways
- Die
CREATE TABLE
-Anweisung definiert die Struktur einer Tabelle, einschließlich Spalten und Constraints. - Fremdschlüssel werden verwendet, um Beziehungen zwischen Tabellen herzustellen.
- Sie können neue Tabellen erstellen, indem Sie die Struktur oder Daten aus vorhandenen Tabellen kopieren.
Das Erstellen von Tabellen ist ein grundlegender Aspekt beim Entwerfen und Verwalten von relationalen Datenbanken in MySQL. Mit der CREATE TABLE
-Anweisung können Sie die Struktur einer Tabelle definieren, einschließlich ihrer Spalten, Datentypen, Constraints und anderer Eigenschaften. Dieser Leitfaden bietet einen Überblick über die CREATE TABLE
-Anweisung, ihre Syntax und praktische Beispiele, um Ihnen zu helfen, effektiv Tabellen in MySQL zu erstellen.
Grundlegende Syntax
Die allgemeine Syntax zum Erstellen einer Tabelle in MySQL lautet wie folgt:
CREATE TABLE [IF NOT EXISTS] tabellenname ( spalte1 datentyp [constraints], spalte2 datentyp [constraints], ... [tabellen_constraints] ) [tabellen_optionen];
IF NOT EXISTS
: Optionale Klausel, die einen Fehler verhindert, wenn die Tabelle bereits existiert.tabellenname
: Der Name der zu erstellenden Tabelle.spalte1
,spalte2
, ...: Definitionen der Spalten der Tabelle, einschließlich Datentypen und optionaler Constraints.tabellen_constraints
: Optionale Definitionen wie Primärschlüssel, Fremdschlüssel und eindeutige Constraints.tabellen_optionen
: Optionale Einstellungen wie die Storage Engine oder der Zeichensatz.
Beispiel: Erstellen einer einfachen Tabelle
Hier ist ein Beispiel zum Erstellen einer customers
-Tabelle:
CREATE TABLE customers ( customer_id INT AUTO_INCREMENT, name VARCHAR(100) NOT NULL, email VARCHAR(100) UNIQUE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (customer_id) );
In diesem Beispiel:
customer_id
ist eine Ganzzahl, die sich mit jedem neuen Datensatz automatisch erhöht und als Primärschlüssel dient.name
ist ein Pflichttextfeld mit einer maximalen Länge von 100 Zeichen.email
ist ein eindeutiges Textfeld, das sicherstellt, dass keine doppelten E-Mail-Adressen vorhanden sind.created_at
zeichnet den Zeitstempel auf, wann der Datensatz erstellt wurde, wobei standardmäßig die aktuelle Zeit verwendet wird.
Erstellen einer Tabelle mit Fremdschlüssel
Um Beziehungen zwischen Tabellen herzustellen, können Sie Fremdschlüssel verwenden. Zum Beispiel das Erstellen einer orders
-Tabelle, die auf die customers
-Tabelle verweist:
CREATE TABLE orders ( order_id INT AUTO_INCREMENT, customer_id INT, order_date DATE, PRIMARY KEY (order_id), FOREIGN KEY (customer_id) REFERENCES customers(customer_id) );
Hier ist customer_id
in der orders
-Tabelle ein Fremdschlüssel, der auf die customer_id
in der customers
-Tabelle verweist und eine Beziehung zwischen den beiden Tabellen herstellt.
Erstellen einer Tabelle basierend auf einer anderen Tabelle
MySQL ermöglicht es Ihnen, eine neue Tabelle zu erstellen, indem Sie die Struktur einer vorhandenen Tabelle kopieren:
CREATE TABLE new_table LIKE existing_table;
Diese Anweisung erstellt eine neue Tabelle new_table
mit der gleichen Struktur wie existing_table
, jedoch ohne die Daten zu kopieren.
Alternativ können Sie eine neue Tabelle erstellen und sie mit Daten aus einer vorhandenen Tabelle füllen:
CREATE TABLE new_table AS SELECT spalte1, spalte2 FROM existing_table WHERE bedingung;
Dieser Ansatz erstellt new_table
mit den angegebenen Spalten und kopiert die Daten, die die angegebene Bedingung erfüllen.
Angeben der Storage Engine
MySQL unterstützt verschiedene Storage Engines, wobei InnoDB die Standardeinstellung ist. Sie können die Storage Engine mit der Option ENGINE
angeben:
CREATE TABLE products ( product_id INT AUTO_INCREMENT, name VARCHAR(100), price DECIMAL(10,2), PRIMARY KEY (product_id) ) ENGINE=InnoDB;
Die Wahl der geeigneten Storage Engine kann sich auf die Leistung und Funktionen wie Transaktionsunterstützung und Fremdschlüssel-Constraints auswirken.
Fazit
Die CREATE TABLE
-Anweisung in MySQL ist ein leistungsstarkes Werkzeug zum Definieren der Struktur Ihrer Datenbanktabellen. Indem Sie ihre Syntax und Optionen verstehen, können Sie Tabellen erstellen, die Ihre Daten effektiv speichern und verwalten, Beziehungen zwischen Tabellen herstellen und die Leistung durch geeignete Konfigurationen optimieren.
FAQs
Verwenden Sie IF NOT EXISTS
, um einen Fehler zu vermeiden, wenn die Tabelle bereits existiert.
Ja, verwenden Sie CREATE TABLE ... AS SELECT ...
, um eine Tabelle aus einer anderen zu erstellen und zu füllen.
InnoDB ist die Standardeinstellung und wird für Funktionen wie Transaktionen und Fremdschlüssel empfohlen.
Wir sind Leapcell, Ihre erste Wahl für das Hosten von Backend-Projekten.
Leapcell ist die Serverless-Plattform der nächsten Generation für Webhosting, asynchrone Aufgaben und Redis:
Multi-Sprachen Unterstützung
- Entwickeln Sie mit Node.js, Python, Go oder Rust.
Stellen Sie unbegrenzt viele Projekte kostenlos bereit
- Zahlen Sie nur für die Nutzung - keine Anfragen, keine Gebühren.
Unschlagbare Kosteneffizienz
- Pay-as-you-go ohne Leerlaufgebühren.
- Beispiel: 25 $ unterstützen 6,94 Millionen Anfragen bei einer durchschnittlichen Antwortzeit von 60 ms.
Optimierte Entwicklererfahrung
- Intuitive Benutzeroberfläche für mühelose Einrichtung.
- Vollständig automatisierte CI/CD-Pipelines und GitOps-Integration.
- Echtzeitmetriken und -protokollierung für umsetzbare Erkenntnisse.
Mühelose Skalierbarkeit und hohe Leistung
- Automatische Skalierung zur mühelosen Bewältigung hoher Parallelität.
- Keine betrieblichen Gemeinkosten - konzentrieren Sie sich einfach auf das Bauen.
Erfahren Sie mehr in der Dokumentation!
Folgen Sie uns auf X: @LeapcellHQ