HTML, CSS, PHP, MySQL

html-php.de

HTML & CSS Stylesheets Referenz JavaScript PHP MySQL Sonstiges Gästebuch Inhalt Impressum

[ Tabellen anlegen ] [ Tabellen erweitern ] [ Feld löschen ] [ Feldname ändern ]

Tabellen anlegen

Tabellen können Sie selbstverständlich mit dem Programm PHPMyAdmin erstellen. Aber hier zeige ich Ihnen einen Weg, Tabellen mit einem PHP-Script anzulegen. Hierzu benötigen Sie zuerst zugriff auf die Datenbank, wie auf der Startseite bereits erklärt.
Mit dem SQL-Befehl CREATE TABLE tabellenname ( Spaltendefinition ); werden Tabellen angelegt. Zuerst wird der Befehl in einem String gespeichert, und anschließend mit der Funktion mysql_query() an den MySQL-Server gesendet. Zusätzlich habe ich den Befehl IF NOT EXITS hinzugefügt, der bewirkt, das die Tabelle nur angelegt wird, wenn die Tabelle nicht existiert. Im folgenden Bespiel werden zwei Tabellen angelegt.

  <?php
    include 'inc/zugriff.php';
    $dz = @mysql_connect(MYSQL_HOST,MYSQL_USER,MYSQL_PASS) 
      OR die('Verbindung fehlgeschlagen');
    mysql_select_db(MYSQL_DATABASES) 
      OR die('Konnte Datenbank nicht benutzen');
    $sql_befehl = "CREATE TABLE IF NOT EXISTS Beitrag (
      ID        INT AUTO_INCREMENT PRIMARY KEY,
      Name      VARCHAR(30),
      eMail     VARCHAR(70),
      HP        VARCHAR(70),
      IP        VARCHAR(16),
      Zeit      INT(11),
      Beitrag   TEXT,
      Kommentar TEXT
    )";
    if (mysql_query($sql_befehl)) {
      echo "Datenbanktabelle erfolgreich angelegt.<br>" ;  
    } else {
      echo "Datenbanktabelle konnte nicht angelegt werden!<br>" ;
    }
    $sql_befehl = "CREATE TABLE IF NOT EXISTS Spam (
      ID     INT AUTO_INCREMENT PRIMARY KEY,
      Zeit   INT(11),
      CODE   VARCHAR(6)
    )" ;
    if (mysql_query($sql_befehl)) {
      echo "Datenbanktabelle erfolgreich angelegt.<br>" ;  
    } else {
      echo "Datenbanktabelle konnte nicht angelegt werden!<br>" ;
    }
    @mysql_close($dz);
  ?>  

Tabelle erweitern

Folgendes benötigen wir nicht für unser Gästebuch, aber ich möchte hier kurz darauf eingehen. Es kommt vor, daß man ein weiteres Feld in die Tabelle hinzugefügt werden soll. Dazu setzt man bei der MySQL-Anweisung ALTER TABLE ein. Setzen Sie das Schlüsselwort FIRST an, wird das Feld am Anfang hinzugefügt. Mit AFTER und Angabe eines Feldnamen wird das neue Feld hinter diesen gesetzt.

  <?php
    include 'inc/zugriff.php';
    $dz = @mysql_connect(MYSQL_HOST,MYSQL_USER,MYSQL_PASS) 
      OR die('Verbindung fehlgeschlagen');
    mysql_select_db(MYSQL_DATABASES) 
      OR die('Konnte Datenbank nicht benutzen');
    $sql_befehl = "ALTER TABLE Beitrag (
      ADD Vorname VARCHAR(30) FIRST,
      ADD Alter INT AFTER Name
    )";
    if (mysql_query($sql_befehl)) {
      echo "Datenbanktabelle erfolgreich geändert.<br>" ;  
    } else {
      echo "Datenbanktabelle konnte nicht geändert werden!<br>" ;
    }
  

Feld löschen

Möchten Sie ein Feld aus der Tabelle löschen, seltzen Sie das Kommando DROP ein.

  <?php
    include 'inc/zugriff.php';
    $dz = @mysql_connect(MYSQL_HOST,MYSQL_USER,MYSQL_PASS) 
      OR die('Verbindung fehlgeschlagen');
    mysql_select_db(MYSQL_DATABASES) 
      OR die('Konnte Datenbank nicht benutzen');
    $sql_befehl = "ALTER TABLE Beitrag (
      DROP Vorname 
    )";
    if (mysql_query($sql_befehl)) {
      echo "Datenbanktabelle erfolgreich geändert.<br>" ;  
    } else {
      echo "Datenbanktabelle konnte nicht geändert werden!<br>" ;
    }
  

Feldname ändern

Um ein Feld zu ändern, benutzen Sie das Kommando CHANGE. Im folgenden Beispiel wird das Feld Name in Nachname geändert und auf 60 Zeichen erweitert.

  <?php
    include 'inc/zugriff.php';
    $dz = @mysql_connect(MYSQL_HOST,MYSQL_USER,MYSQL_PASS) 
      OR die('Verbindung fehlgeschlagen');
    mysql_select_db(MYSQL_DATABASES) 
      OR die('Konnte Datenbank nicht benutzen');
    $sql_befehl = "ALTER TABLE Beitrag (
      CHANGE Name Nachname VARCHAR(60)
    )";
    if (mysql_query($sql_befehl)) {
      echo "Datenbanktabelle erfolgreich geändert.<br>" ;  
    } else {
      echo "Datenbanktabelle konnte nicht geändert werden!<br>" ;
    }
  

back top next