Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Datenbankprogrammierung  Teil von  PHP und MySQL-Zugriffe
Professional CronJob-Service

Suche

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: SELFPHP Forum ::

Fragen rund um die Themen PHP?
In über 130.000 Beiträgen finden Sie sicher die passende Antwort!  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 
 
Datenbanktabelle erstellen: Seite 1

SELFPHP ist Shopware Solution Partner
Shopware ist ein vielfach ausgezeichnetes Onlineshop-System der shopware AG, das auf PHP. Zend Framework und SQL basiert.
SELFPHP unterstützt Sie als Shopware Solution Partner bei der Konzeption, Programmierung und Realisierung Ihres Onlineshops und passt Shopware bei Bedarf an Ihre Unternehmensbedürfnisse an. Weitere Informationen



Nachdem Sie nun eine Datenbank erstellt haben, erzeugen Sie eine Tabelle. Eine Tabelle wird ebenfalls mithilfe der MySQLi-Methode query() erzeugt. Das folgende Skript sorgt dafür, dass Ihnen die Tabelle Mitglieder innerhalb der Datenbank Verein zur Verfügung gestellt wird.

<?php

// Verbindungs-Objekt samt Zugangsdaten festlegen
@$db = new mysqli('localhost', 'matthias', 'geheim');

// Verbindung überprüfen
if (mysqli_connect_errno()) {
  printf("Verbindung fehlgeschlagen: %s\n", mysqli_connect_error());
  exit();
}

// SQL-Befehl – Anlegen der Datenbank
$sql_befehl = "CREATE DATABASE IF NOT EXISTS Verein";

if ($db->query($sql_befehl)) {
  // Meldung bei erfolgreicher Erstellung der Datenbank
  echo "Datenbank erfolgreich angelegt.";
  // Datenbankwechseln (verwenden)
  //Alternative: $db->query("USE Verein");
  $db->select_db("Verein");  
} else {
  // Meldung bei Fehlschlag
  echo "Datenbank konnte nicht angelegt werden!";
  exit();
}

// SQL-Befehl – Anlegen der Datenbanktabelle
$sql_befehl = "CREATE TABLE IF NOT EXISTS Mitglieder (
MitgliedID INTEGER NOT NULL AUTO_INCREMENT,
MitgliedVorname CHAR(40),
MitgliedNachname CHAR(40),
Aufgabe CHAR(40),
Geburtsdatum DATE,
PRIMARY KEY (MitgliedID)
)";

if ($db->query($sql_befehl)) {
  // Meldung bei erfolgreicher Erstellung der Datenbanktabelle
  echo "Datenbanktabelle erfolgreich angelegt.";  
} else {
  // Meldung bei Fehlschlag
  echo "Datenbanktabelle konnte nicht angelegt werden!";
}

// Verbindung zum Datenbankserver beenden
$db->close();

?>

Das Skript erscheint Ihnen vielleicht etwas lang. Die Sicherheitsabfragen führen dazu, dass das Skript schnell an Umfang gewinnt. Bei Prozessen, die vom Erfolg anderer Prozesse abhängig sind, sollten Sie jedoch immer prüfen, ob der vorhergehende Prozess samt Operationen erfolgreich abgeschlossen wurde oder nicht. Es wird überprüft, ob die Datenbank, die erzeugt werden soll, bereits vorhanden ist. Sollte dies nicht der Fall sein, wird sie erzeugt. Anschließend wird auf die Datenbank Verein verwiesen. Dann kommt es zur Festlegung der Tabellenfelder und deren Datentypen.


Primärschlüsselfeld

Die vorliegende Tabelle enthält noch eine Besonderheit, und zwar einen Primärschlüssel, welcher durch die MitgliedID symbolisiert wird. Eine Tabelle benötigt in der Regel einen Primärschlüssel, über den der einzelne Datensatz eindeutig identifiziert werden kann. Sie können hierfür mehrere Spalten einsetzen. Sinnvoller ist es jedoch meist, einzelne Felder zu verwenden. Mit dem Zusatz PRIMARY KEY erklären Sie das zuvor definierte Feld MitgliedID zum Schlüsselfeld. Hier sind dann automatisch nur noch eindeutige Einträge zulässig. Der Zusatz NOT NULL legt fest, dass dieses Feld nicht leer bleiben darf. Der Anwender ist somit gezwungen, hier einen Wert einzugeben.


Primärschlüsselfeld und AUTO_INCREMENT

Das Problem, in ein Schlüsselfeld immer eindeutige Einträge eingeben zu müssen, lässt sich mithilfe von AUTO_INCREMENT lösen. Sobald ein Feld als auto_increment-feld deklariert wurde, werden beim Hinzufügen neuer Datensätze automatisch passende Einträge in dem Feld eingesetzt. Der Anwender muss sich um dieses Feld gar nicht mehr kümmern. MySQL ermittelt automatisch den bisher höchsten Eintrag und erhöht diesen um den Wert 1. Diese Lösung des Problems ist der bequemste und gleichzeitig der sicherste Weg.


Datentypen

MySQL unterstützt eine Reihe von Spaltentypen, die in drei Kategorien unterteilt werden können: Numerische Typen, Datums- und Zeit-Typen sowie Zeichenketten-Typen.

Der jeweilige Typ sollte möglichst genau auf die Daten abgestimmt sein, die Sie speichern wollen. Durch die Spaltentypen erhalten Sie eine gewisse Eingabekontrolle, da falsche Daten eventuell schon bei der Eingabe mit einer Fehlermeldung abgewiesen werden. Wenn ein Feld beispielsweise nur ganzzahlige Werte enthalten soll, ist der Typ INTEGER zu wählen. Hier eine Zusammenstellung der wichtigsten Spaltentypen (Datentypen):



Datenbank erstellen
 




:: Premium-Partner ::

Webhosting/Serverlösungen

PSW GROUP GmbH & Co. KG weitere Premium-Partner
 

:: SELFPHP Sponsor ::

Microsoft Deutschland GmbH weitere Sponsoren
 


:: Buchempfehlung ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Webhosting/Serverlösungen

Suchen Sie den für Sie passenden IT-Dienstleister für Ihr Webhosting-Paket oder Ihre Serverlösung?

Sie sind nur ein paar Klicks davon entfernt!


 

Ausgewählter Tipp im Bereich PHP-Skripte


Zyklische Redundanzprüfung (CRC)

Weitere interessante Beispiele aus dem SELFPHP Kochbuch finden Sie im Bereich PHP-Skripte
 

SELFPHP Code Snippet


Ein angegebenes Datum überprüfen

Weitere interessante Code Snippets finden Sie auf SELFPHP im Bereich PHP Code Snippets
 
© 2001-2024 E-Mail SELFPHP Inh. Damir Enseleit, info@selfphp.deImpressumKontakt
© 2005-2024 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de