PHP/Datenbanken anlegen und löschen
< PHP
Das folgende Skript "mysql_createdb.php" zeigt das Anlegen und anschliessende Löschen einer temporären Datenbank.
<?php
## Name mysql_createdb.php
include("open.inc.php");
function show_dbs($connection)
{
## Ermittlung aller Datenbanken
$result = mysql_list_dbs($connection);
$i = 0;
echo "<p><b>Datenbanken</b>:<br />\n";
## Extraktion der Tabellennamen
while ($i < mysql_num_rows ($result))
{
$tablenames[$i] = mysql_tablename ($result, $i);
echo $tablenames[$i] . "<br />\n";
$i++;
}
}
## Schickt Abfrage an die Datenbank
function sql_query($success, $sql, $connection)
{
$result = mysql_query($sql, $connection);
if ($result)
{
echo "<p>$success.</p>\n";
}
else
{
echo "<p>" . mysql_error($connection) . "</p>\n";
}
return $result;
}
## Anlegen der Datenbank "temporaer"
$result = mysql_query("CREATE DATABASE temporaer", $connection);
if ($result)
{
echo "<p>Datenbank angelegt.</p>\n";
}
else
{
echo "<p>" . mysql_error($connection) . "</p>\n";
}
show_dbs($connection);
## Wechsel in die Datenbank "temporaer"
$sql = "USE temporaer";
sql_query("Wechsel in die Datenbank 'temporaer'", $sql, $connection);
## Anlegen der Tabelle "temp"
$sql = "CREATE TABLE temp (sessions VARCHAR(50) NOT NULL)";
sql_query("Tabelle temp erzeugt", $sql, $connection);
## Einfügen von Daten
$sql = "INSERT INTO temp (sessions) VALUES ('1234567')";
sql_query("Session ID eingefügt", $sql, $connection);
## Abfrage der Daten
$sql = "SELECT * FROM temp";
$result = sql_query("Session IDs anzeigen", $sql, $connection);
if ($result)
{
$number = mysql_num_rows($result);
echo "<p>Es ist $number Datensatz gelesen worden: ";
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
echo implode("|", $row);
}
}
## Löschen der Datenbank "temporaer"
$result = mysql_query("DROP DATABASE temporaer", $connection);
show_dbs($connection);
mysql_close($connection);
?>
|
Mit folgenden SQL-Befehlen können Datenbankbestandteile gelöscht werden.
DROP DATABASE <Datenbankname> | Löschen einer Datenbank. |
DROP TABLE <Tabellenname> | Vollständiges löschen einer Tabelle. |
DELETE FROM <Tabellenname> | (ohne "WHERE"-Bedingung) Löschen aller Datensätze einer Tabelle. |
TRUNCATE TABLE <Tabellenname> | Löschen aller Datensätze einer Tabelle (schneller als "DELETE"). |