Zusammenfassung: In diesem Tutorial zeigen wir Ihnen, wie Sie mit der Anweisung MySQL CREATE TABLE
eine neue Tabelle in der Datenbank erstellen.
MySQL CREATE TABLE syntax
Mit der CREATE TABLE
– Anweisung können Sie eine neue Tabelle in einer Datenbank erstellen.
Im Folgenden wird die grundlegende Syntax der CREATE TABLE
– Anweisung veranschaulicht:
Untersuchen wir die Syntax genauer.,
Geben Sie zunächst den Namen der Tabelle an, die Sie nach den Schlüsselwörtern CREATE TABLE
erstellen möchten. Der Tabellenname muss innerhalb einer Datenbank eindeutig sein. IF NOT EXISTS
ist optional. Sie können überprüfen, ob die von Ihnen erstellte Tabelle bereits in der Datenbank vorhanden ist. Wenn dies der Fall ist, ignoriert MySQL die gesamte Anweisung und erstellt keine neue Tabelle.
Zweitens geben Sie eine Liste von Spalten der Tabelle im Abschnitt column_list
an, Spalten sind durch Kommas getrennt.,
Drittens können Sie optional die Speicher-Engine für die Tabelle in der Klausel ENGINE
angeben. Sie können jede Speicher-Engine wie InnoDB und MyISAM verwenden. Wenn Sie eine Speicher-Engine nicht explizit deklarieren, verwendet MySQL standardmäßig InnoDB.
InnoDB wurde die Standard-Storage-Engine seit MySQL Version 5.5. Die InnoDB-Speicher-Engine bietet viele Vorteile eines relationalen Datenbankverwaltungssystems wie ACID-Transaktion, referenzielle Integrität und Crash-Wiederherstellung. In den vorherigen Versionen verwendete MySQL MyISAM als Standardspeichermodul.,
Folgendes zeigt die Syntax für die Definition einer Spalte:
Hier sind die Details:
- Die
column_name
gibt den Namen der Spalte an. Jede Spalte hat einen bestimmten Datentyp und eine optionale Größe, z. B.VARCHAR(255)
- Die
NOT NULL
– Einschränkung stellt sicher, dass die Spalte keineNULL
enthält. Neben derNOT NULL
– Einschränkung kann eine Spalte zusätzliche Einschränkungen wie CHECK und UNIQUE. - Die
DEFAULT
gibt einen Standardwert für die Spalte an., - Die
AUTO_INCREMENT
gibt an, dass der Wert der Spalte automatisch um eins erhöht wird, wenn eine neue Zeile in die Tabelle eingefügt wird. Jede Tabelle hat maximal eineAUTO_INCREMENT
Spalte.
Nach der Spaltenliste können Sie Tabelleneinschränkungen wie UNIQUE, CHECK, PRIMARY KEY und FOREIGN KEY definieren.
Wenn Sie beispielsweise eine Spalte oder eine Gruppe von Spalten als Primärschlüssel festlegen möchten, verwenden Sie die folgende Syntax:
Code language: SQL (Structured Query Language) (sql)
MySQL CREATE TABLE statement examples
Nehmen wir einige Beispiele zum Erstellen neuer Tabellen.,
1) MySQL CREATE TABLE-einfaches Beispiel
Die folgende Anweisung erstellt eine neue Tabelle mit dem Namen tasks
:
Code language: SQL (Structured Query Language) (sql)
Die tasks-Tabelle hat die folgenden Spalten:
-
task_id
ist ein auto-Inkrement-Spalte. Wenn Sie die AnweisungINSERT
verwenden, um eine neue Zeile in die Tabelle einzufügen, ohne einen Wert für die Spaltetask_id
anzugeben, generiert MySQL automatisch eine sequentielle Ganzzahl für dietask_id
ab 1., - Die Spalte
title
ist eine variable Zeichenkettenspalte mit einer maximalen Länge von 255. Dies bedeutet, dass Sie keine Zeichenfolge mit einer Länge von mehr als 255 in diese Spalte einfügen können. DieNOT NULL
– Einschränkung gibt an, dass die SpalteNULL
nicht akzeptiert. Mit anderen Worten, Sie müssen beim Einfügen oder Aktualisieren dieser Spalte einen Wert ungleich NULL angeben. - Die
start_date
unddue_date
sindDATE
Spalten., Da diese Spalten nicht dieNOT NULL
– Einschränkung haben, können sieNULL
speichern. Die Spalte start_date hat einen Standardwert für das aktuelle Datum. Mit anderen Worten, wenn Sie beim Einfügen einer neuen Zeile keinen Wert für die Spalte start_date angeben, nimmt die Spalte start_date das aktuelle Datum des Datenbankservers an. - Die
status
undpriority
sind dieTINYINT
Spalten, dieNULL
nicht zulassen., - Die
description
Spalte ist eineTEXT
Spalte, dieNULL
akzeptiert. - Die
created_at
ist eineTIMESTAMP
– Spalte, die die aktuelle Uhrzeit als Standardwert akzeptiert.
Die task_id
ist die Primärschlüsselspalte der tasks
Tabelle. Dies bedeutet, dass die Werte in der Spalte task_id
Zeilen in der Tabelle eindeutig identifizieren.,
Sobald Sie die CREATE TABLE
-Anweisung ausführen, um die tasks
– Tabelle zu erstellen, können Sie ihre Struktur mithilfe der DESCRIBE
– Anweisung anzeigen:
Code language: SQL (Structured Query Language) (sql)
Dieses Bild zeigt das Datenbankdiagramm der tasks
Tabelle:
2) MySQL TABELLE mit einem Fremdschlüssel erstellen.schlüsselbeispiel
Angenommen, jede Aufgabe hat eine Checkliste oder Aufgabenliste., Um Checklisten von Aufgaben zu speichern, können Sie eine neue Tabelle mit dem Namen checklists
wie folgt erstellen:
Die Tabelle checklists
hat einen Primärschlüssel, der aus zwei Spalten besteht., Daher haben wir eine Tabelleneinschränkung verwendet, um den Primärschlüssel zu definieren:
Code language: SQL (Structured Query Language) (sql)
Außerdem ist die task_id
die Fremdschlüsselspalte, die auf die task_id
Spalte der Tabelle verweist tasks
, wir haben eine Fremdschlüsseleinschränkung verwendet, um diese Beziehung herzustellen:
Im folgenden Tutorial erfahren Sie mehr über die Fremdschlüsseleinschränkung.,
Dieses Bild veranschaulicht die checklists
Tabelle und ihre Beziehung zur tasks
Tabelle:
In diesem Tutorial haben Sie gelernt, wie man MySQL verwendet CREATE TABLE
Anweisung zum Erstellen einer neuen Tabelle in der Datenbank.
- War dieses tutorial hilfreich?
- YesNo