MySQL-Tabelle erstellen

Um eine MySQL-Datentabelle zu erstellen, benötigen Sie die folgenden Informationen:

  • Tabellenname
  • Feldnamen der Tabelle
  • Definieren Sie den Datentyp für jedes Tabellenfeld

Syntax

Das Folgende ist die allgemeine SQL-Syntax zum Erstellen einer MySQL-Datentabelle:

CREATE TABLE table_name (
    column1 datatype,
    column2 datatype,
    ...
);

Parameter description:

  • table_nameist der Name der Tabelle, die Sie erstellen möchten.
  • column1, column2, ... sind die Spaltennamen in der Tabelle.
  • datatypeist der Datentyp jeder Spalte.

Das Folgende ist ein konkretes Beispiel zum Erstellen einer Benutzertabelle.users:

Beispiel

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(100) NOT NULL,
    birthdate DATE,
    is_active BOOLEAN DEFAULT TRUE
);

Beispielanalyse:

  • id: Benutzer-ID, Integer-Typ, Auto-Increment, als Primärschlüssel verwendet.
  • username: Benutzername, Zeichenkette variabler Länge, darf nicht leer sein.
  • email: Benutzer-E-Mail, Zeichenkette variabler Länge, darf nicht leer sein.
  • birthdate: Geburtstag des Benutzers, Datumstyp.
  • is_active: Ob der Benutzer aktiviert ist, boolescher Typ, Standardwert ist true.

Das Obige ist nur ein einfaches Beispiel, das einige gängige Datentypen verwendet, darunter INT, VARCHAR, DATE, BOOLEAN. Sie können je nach tatsächlichem Bedarf unterschiedliche Datentypen wählen. Das Schlüsselwort AUTO_INCREMENT wird verwendet, um eine Spalte mit automatischer Inkrementierung zu erstellen, und PRIMARY KEY wird verwendet, um den Primärschlüssel zu definieren.

Wenn Sie beim Erstellen einer Tabelle die Speicher-Engine, den Zeichensatz, die Kollation usw. angeben möchten, können Sie die KlauselCHARACTER SETundCOLLATEverwenden:

Beispiel

CREATE TABLE mytable (
    id INT PRIMARY KEY,
    name VARCHAR(50)
) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

Der obige Code erstellt eine Tabelle mit dem Zeichensatz utf8mb4 und der Kollation utf8mb4_general_ci.

Im folgenden Beispiel erstellen wir die Datentabelle example_tbl in der Datenbank EXAMPLE:

Beispiel

CREATE TABLE IF NOT EXISTS `example_tbl`(
   `example_id` INT UNSIGNED AUTO_INCREMENT,
   `example_title` VARCHAR(100) NOT NULL,
   `example_author` VARCHAR(40) NOT NULL,
   `submission_date` DATE,
   PRIMARY KEY ( `example_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

Beispielanalyse:

  • Wenn Sie nicht möchten, dass ein Feldleerist, können Sie das Feldattribut aufNOT NULLsetzen, wie bei den Feldern example_title und example_author im obigen Beispiel. Wenn die für diese Felder eingegebenen Daten beim Arbeiten mit der Datenbank leer sind, wird ein Fehler gemeldet.

  • AUTO_INCREMENTDefiniert die Spalte als automatisch inkrementierend, wird im Allgemeinen für den Primärschlüssel verwendet; der Wert erhöht sich automatisch um 1.
  • PRIMARY KEY-Schlüsselwort wird verwendet, um die Spalte als Primärschlüssel zu definieren. Sie können mehrere Spalten verwenden, um den Primärschlüssel zu definieren, getrennt durch Kommas.,.
  • ENGINELegt die Speicher-Engine fest,CHARSETLegt die Kodierung fest.


Tabelle über die Eingabeaufforderung erstellen

Über das mysql>-Befehlsfenster können Sie ganz einfach eine MySQL-Datentabelle erstellen.

Sie können die SQL-AnweisungCREATE TABLEverwenden, um eine Datentabelle zu erstellen.

Beispiel

Im Folgenden wird ein Beispiel für das Erstellen der Datentabelle example_tbl gezeigt:

Beispiel

root@host# mysql -u root -p
Passwort eingeben:*******
mysql> USE EXAMPLE;
Datenbank geändert
mysql> CREATE TABLE example_tbl(
   -> example_id INT NOT NULL AUTO_INCREMENT,
   -> example_title VARCHAR(100) NOT NULL,
   -> example_author VARCHAR(40) NOT NULL,
   -> submission_date DATE,
   -> PRIMARY KEY ( example_id )
   -> )ENGINE=InnoDB DEFAULT CHARSET=utf8;
Abfrage OK, 0 Zeilen betroffen (0.16 sec)
mysql>

Hinweis:Das MySQL-Befehlsendezeichen ist ein Semikolon.; 。

Hinweis: ->ist eine Neue-Zeile-Markierung, kopieren Sie sie nicht.

Datentabelle mit PHP-Skript erstellen

Du kannst die Funktionmysqli_query()von PHP verwenden, um eine Datentabelle in einer bestehenden Datenbank zu erstellen.

Diese Funktion hat zwei Parameter und gibt bei Erfolg TRUE zurück, andernfalls FALSE.

Syntax

mysqli_query(connection,query,resultmode);
Parameter Beschreibung
Verbindung Erforderlich. Gibt die zu verwendende MySQL-Verbindung an.
Abfrage Erforderlich. Gibt die Abfragezeichenfolge an.
resultmode

Optional. Eine Konstante. Kann einen der folgenden Werte annehmen:

  • MYSQLI_USE_RESULT (verwende dies, wenn du eine große Datenmenge abrufen musst)
  • MYSQLI_STORE_RESULT (Standard)

Beispiel

Das folgende Beispiel verwendet ein PHP-Skript, um eine Datentabelle zu erstellen:

Datentabelle erstellen

<?php $dbhost = 'localhost'; //Hostadresse des MySQL-Servers $dbuser = 'root'; //MySQL-Benutzername $dbpass = '123456'; //Passwort für den MySQL-Benutzernamen $conn = mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Verbindung fehlgeschlagen:' . mysqli_error($conn)); } echo 'Verbindung erfolgreich<br />'; $sql = "CREATE TABLE example_tbl( ". "example_id INT NOT NULL AUTO_INCREMENT, ". "example_title VARCHAR(100) NOT NULL, ". "example_author VARCHAR(40) NOT NULL, ". "submission_date DATE, ". "PRIMARY KEY ( example_id ))ENGINE=InnoDB DEFAULT CHARSET=utf8; "; mysqli_select_db( $conn, 'EXAMPLE' ); $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('Erstellen der Datentabelle fehlgeschlagen:' . mysqli_error($conn)); } echo "Datentabelle erfolgreich erstellt\n"; mysqli_close($conn); ?>

Nach erfolgreicher Ausführung können Sie die Tabellenstruktur über die Befehlszeile anzeigen:

Weitere Erweiterungen