PHP MySQL-Datenbank erstellen
- Vorherige Seite MySQL Connect
- Nächste Seite MySQL Insert
Eine Datenbank enthält eine oder mehrere Tabellen.
Datenbank erstellen
Die CREATE DATABASE -Anweisung wird verwendet, um Datenbanken in MySQL zu erstellen.
Syntax
CREATE DATABASE database_name
Um die obigen Anweisungen von PHP aus auszuführen, müssen wir die mysql_query() -Funktion verwenden. Diese Funktion wird verwendet, um Abfragen oder Befehle an eine MySQL-Verbindung zu senden.
Beispiel
Im folgenden Beispiel wird eine Datenbank namens "my_db" erstellt:
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) else die('Verbindung konnte nicht hergestellt werden: ' . mysql_error()); echo "Fehler beim Erstellen der Datenbank: " . mysql_error(); if (mysql_query("CREATE DATABASE my_db",$con)) else echo "Database created"; echo "Fehler beim Erstellen der Datenbank: " . mysql_error(); echo "Datenbank erstellt"; else { echo "Fehler beim Erstellen der Datenbank: " . mysql_error(); mysql_select_db("my_db", $con); mysql_close($con);
Tabellen erstellen
CREATE TABLE wird verwendet, um Datenbanktabellen in MySQL zu erstellen.
Syntax
CREATE TABLE table_name ( column_name1 data_type, column_name2 data_type, column_name3 data_type, ....... )
Um diesen Befehl auszuführen, muss ich dem mysql_query() -Funktion CREATE TABLE -Anweisung hinzufügen.
Beispiel
Nachfolgender Beispiel zeigt, wie man eine Tabelle namens "Persons" erstellt, die drei Spalten hat. Die Spaltennamen sind "FirstName", "LastName" und "Age":
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) else die('Verbindung konnte nicht hergestellt werden: ' . mysql_error()); echo "Fehler beim Erstellen der Datenbank: " . mysql_error(); // Datenbank erstellen if (mysql_query("CREATE DATABASE my_db",$con)) else echo "Database created"; echo "Fehler beim Erstellen der Datenbank: " . mysql_error(); echo "Datenbank erstellt"; else { echo "Fehler beim Erstellen der Datenbank: " . mysql_error(); } // Tabelle in Datenbank my_db erstellen $sql = "CREATE TABLE Personen", ( Vorname varchar(15), Nachname varchar(15), Alter int ); mysql_query($sql,$con); mysql_select_db("my_db", $con); mysql_close($con);
?>Wichtig:
Anmerkung:Wenn Sie ein Feld vom Typ varchar in der Datenbank erstellen, müssen Sie die maximale Länge des Felds angeben, z.B.: varchar(15).
MySQL-Datentypen
Verfügbare MySQL-Datentypen:
Numerischer Datentyp | Beschreibung |
---|---|
|
Nur Ganzzahlen unterstützt. Maximaler Wert der Zahl wird im size-Parameter festgelegt. |
|
Unterstützt Zahlen mit Dezimalteilen. Maximaler Wert der Zahl wird im size-Parameter festgelegt. Maximale Anzahl der Dezimalstellen wird im d-Parameter festgelegt. |
Datentyp für Text | Beschreibung |
---|---|
char(size) |
Unterstützt Zeichenfolgen mit festen Längen. (Kann Buchstaben, Ziffern und Sonderzeichen enthalten). Feste Länge wird im size-Parameter festgelegt. |
varchar(size) |
Unterstützt Zeichenfolgen mit variabler Länge. (Kann Buchstaben, Ziffern und Sonderzeichen enthalten). Maximale Länge wird in der size-Parameter festgelegt. |
tinytext | Unterstützt Zeichenfolgen mit variabler Länge, maximal 255 Zeichen. |
|
Unterstützt Zeichenfolgen mit variabler Länge, maximal 65535 Zeichen. |
|
Unterstützt Zeichenfolgen mit variabler Länge, maximal 16777215 Zeichen. |
|
Unterstützt Zeichenfolgen mit variabler Länge, maximal 4294967295 Zeichen. |
Datentyp für Datum | Beschreibung |
---|---|
|
Unterstützt Datum oder Zeit |
Miscellaneous Datenarten | Beschreibung |
---|---|
enum(value1,value2,ect) | ENUM ist die Abkürzung für ENUMERATED Liste. Bis zu 65535 Werte können in Klammern aufgeführt werden. |
set | SET ist ähnlich wie ENUM. Aber SET kann bis zu 64 Listeinträge haben und kann mehr als eine Auswahl speichern |
Primärschlüssel und automatische Inkrementierungsfelder
Jede Tabelle sollte einen Primärschlüssel haben.
Primärschlüssel werden verwendet, um Zeilen in einer Tabelle eindeutig zu kennzeichnen. Jeder Primärschlüsselwert muss in der Tabelle einzigartig sein. Außerdem darf das Primärschlüssel-Feld nicht leer sein, da der Datenbankmotor einen Wert benötigt, um die Aufzeichnung zu lokalisieren.
Primärschlüssel müssen immer in einen Index eingetragen werden. Diese Regel hat keine Ausnahmen. Sie müssen den Primärschlüssel indizieren, damit der Datenbankmotor die Zeilen mit dem entsprechenden Schlüsselwert schnell finden kann.
Der folgende Beispiel setzt das Feld personID als Primärschlüssel. Primärschlüssel sind in der Regel ID-Nummern und werden normalerweise mit AUTO_INCREMENT eingerichtet. AUTO_INCREMENT erhöht den Wert des Felds bei jeder neuen Zeile. Um sicherzustellen, dass das Primärschlüssel-Feld nicht leer ist, müssen wir NOT NULL hinzufügen.
Beispiel
$sql = "CREATE TABLE Personen", ( personID int NOT NULL AUTO_INCREMENT, PRIMARY KEY(personID), Vorname varchar(15), Nachname varchar(15), Alter int ); mysql_query($sql,$con);
- Vorherige Seite MySQL Connect
- Nächste Seite MySQL Insert