PHP MySQL-Tabelle erstellen


Eine Datentabelle hat einen eindeutigen Namen und besteht aus Zeilen und Spalten.


MySQL-Tabellen mit MySQLi und PDO erstellen

Die CREATE TABLE-Anweisung wird verwendet, um eine MySQL-Tabelle zu erstellen.

Bevor wir die Tabelle erstellen, müssen wir den Befehluse myDBverwenden, um die Datenbank auszuwählen, auf der gearbeitet werden soll:

use myDB;

Wir erstellen eine Tabelle namens "MyGuests" mit 5 Spalten: "id", "firstname", "lastname", "email" und "reg_date":

CREATE TABLE MyGuests ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, email VARCHAR(50), reg_date TIMESTAMP )

Hinweise zur obigen Tabelle:

Der Datentyp legt fest, welche Art von Daten die Spalte speichern kann. Eine vollständige Liste der Datentypen finden Sie in unseremReferenzhandbuch für Datentypen。

Nach dem Festlegen des Datentyps können Sie weitere optionale Attribute für jede Spalte angeben:

  • NOT NULL - Jede Zeile muss einen Wert enthalten (darf nicht leer sein), NULL-Werte sind nicht erlaubt.
  • DEFAULT-Wert - Legt einen Standardwert fest
  • UNSIGNED - Verwendet einen vorzeichenlosen numerischen Typ, 0 und positive Zahlen
  • AUTO INCREMENT - Legt den Wert des MySQL-Felds so fest, dass er bei jedem Hinzufügen eines neuen Datensatzes automatisch um 1 erhöht wird
  • PRIMARY KEY - Legt einen eindeutigen Bezeichner für jeden Datensatz in der Datentabelle fest. Normalerweise wird der PRIMARY KEY der Spalte auf den ID-Wert gesetzt und zusammen mit AUTO_INCREMENT verwendet.

Jede Tabelle sollte einen Primärschlüssel haben (hier die Spalte "id"), und der Primärschlüssel muss eindeutige Werte enthalten.

Die folgenden Beispiele zeigen, wie man eine Tabelle in PHP erstellt:

Beispiel (MySQLi - objektorientiert)

<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; //Verbindung herstellen $conn = new mysqli($servername, $username, $password, $dbname); //Verbindung prüfen if ($conn->connect_error) { die("Verbindung fehlgeschlagen:" . $conn->connect_error); } //Tabelle mit SQL erstellen $sql = "CREATE TABLE MyGuests ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, email VARCHAR(50), reg_date TIMESTAMP )"; if ($conn->query($sql) === TRUE) { echo "Tabelle MyGuests erfolgreich erstellt"; } else { echo "Fehler beim Erstellen der Tabelle:" . $conn->error; } $conn->close(); ?>


Beispiel (MySQLi - prozedural)

<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; //Verbindung herstellen $conn = mysqli_connect($servername, $username, $password, $dbname); //Verbindung prüfen if (!$conn) { die("Verbindung fehlgeschlagen:" . mysqli_connect_error()); } //Tabelle mit SQL erstellen $sql = "CREATE TABLE MyGuests ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, email VARCHAR(50), reg_date TIMESTAMP )"; if (mysqli_query($conn, $sql)) { echo "Tabelle MyGuests erfolgreich erstellt"; } else { echo "Fehler beim Erstellen der Tabelle:" . mysqli_error($conn); } mysqli_close($conn); ?>


Beispiel (PDO)

<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDBPDO"; try { $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); //PDO-Fehlermodus auf das Auslösen von Ausnahmen setzen $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //Tabelle mit SQL erstellen $sql = "CREATE TABLE MyGuests ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, email VARCHAR(50), reg_date TIMESTAMP )"; //exec() verwenden, es wird kein Ergebnis zurückgegeben $conn->exec($sql); echo "Tabelle MyGuests erfolgreich erstellt"; } catch(PDOException $e) { echo $sql . "<br>" . $e->getMessage(); } $conn = null; ?>

Weitere Erweiterungen