SiteMap - Alle 49 MySQL Bausteine anzeigen
• Verbindung zur Datenbank herstellen
Da man in den meisten Fällen in mehreren Skripten eine Verbindung zur
Datenbank braucht, empfiehlt sich, die Zugangsdaten in einer zentralen
Datei abzulegen und diese dann bei Bedarf mit
include("verbindung.php"); einzubinden.
Um auf einem
lokalen Webserver zum Beispiel:
xampp.de
eine Verbindung herzustellen, reichen die hier angegebenen Zugangsdaten.
1 2 3 4 5 6 7 8 9 10 11 |
<?php // Verbindung zum Datenbankserver mysql_connect( "", // Datenbank-Host "root", // Datenbank-User "" // Datenbank-Passwort ) or die("<p>Konnte keine Verbindung zur Datenbank herstellen!</p>");
// Der Datenbank-Name (hier "test") muss angegeben werden! mysql_select_db("test") or die("<p>Die Datenbank ist momentan nicht erreichbar!</p>"); ?>
|
Hinweis: Bei
Xampp existiert bereits eine Datenbank, der Name dafür
lautet "
test".
• Datensatz einfügen
Mit
INSERT INTO fügen Sie einen neuen Datensatz ein, gefolgt von dem
Namen der Tabelle ("
tabelle") und den Spalten (die Reihenfolge der
Spalten bitte beachten!). Mit
VALUES fügen Sie dann den eigentlichen
Inhalt in die Tabelle
ein.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<?php $sql = "INSERT INTO `tabelle` ( `spalte1`, `spalte2`, `spalte3` ) VALUES ( 'AAA', 'BBB', 'CCC' ) "; if (mysql_query($sql)) { echo "Der Datensatz wurde eingetragen."; } ?>
|
Werden alle Spalten mit Inhalt gefüllt reicht folgende SQL-Anweisung:
1 2 3 |
<?php $sql = "INSERT INTO `tabelle` VALUES ('a', 'b', 'c')"; ?>
|
Hier folgt eine etwas übersichtlichere SQL-Anweisung mit
SET:
1 2 3 4 5 6 7 8 9 10 11 |
<?php $sql = "INSERT INTO `tabelle` SET `spalte1` = 'AAA', `spalte2` = 'BBB', `spalte3` = 'CCC' "; if (mysql_query($sql)) { echo "Der Datensatz wurde eingetragen."; } ?>
|
•Datensätze auslesen
Mit
SELECT * lesen Sie alle Datensätze und Tabellenspalten aus, gefolgt
von dem Namen der Tabelle.
Mit einer
While-Schleife werden die Datensätze von
$datensaetze gelesen.
$user_row["name"] ist der Name der Spalte.
1 2 3 4 5 6 7 |
<?php $datensaetze = mysql_query("SELECT * FROM `tabelle`");
while($user_row = mysql_fetch_assoc($datensaetze)) { echo $user_row["name"] . "<br>"; } ?>
|
Natürlich gibt es viele Möglichkeiten wie man Datensätze auslesen kann,
mehr dazu unter »
Datensätze auslesen
• Datensatz überschreiben
Mit
UPDATE überschreiben Sie einen Datensatz, gefolgt von dem
Namen der Tabelle und
SET dahinter geben Sie die Spalte an,
die Sie überschreiben möchten und dessen Inhalt.
Mit
WHERE weisen Sie an welcher Datensatz geändert werden soll.
In diesem Beispiel wird
`id` = '17' , also der Datensatz mit dem Primär-
schlüssel
17 geändert.
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php $sql = "UPDATE `tabelle` SET `spalte1` = 'bla bla bla bla', `spalte2` = 'blo blo blo' WHERE `tabelle`.`id` = '17' "; if (mysql_query($sql)) { echo "Der Datensatz wurde geändert."; } ?>
|
• Datensatz löschen
Mit
DELETE FROM löschen Sie einen Datensatz, gefolgt von dem
Namen der Tabelle
und WHERE weisen Sie an welchen Datensatz Sie löschen
möchten. In diesem Beispiel wird
`id` = '17' , also der Datensatz mit dem
Primärschlüssel
17 gelöscht.
1 2 3 4 5 6 7 8 9 |
<?php $sql = "DELETE FROM `tabelle` WHERE `id` = '17' "; if (mysql_query($sql)) { echo "Der Datensatz wurde gelöscht."; } ?>
|
Wenn keine WHERE-Definition angegeben wird, werden alle Daten der
Tabelle ohne Nachfrage gelöscht!
• Die 10 neusten Einträge einer Tabelle anzeigen
Die Spalte
`datum` hat dabei das Datumsformat:
Jahr-Monat-Tag
Beispiel:
2012-02-04 (Feldtyp:
date)
1 2 3 4 5 6 7 8 |
<?php // Die 10 neusten Einträge einer Tabelle anzeigen $sql = "SELECT * FROM `tabelle` ORDER BY `datum` DESC LIMIT 0, 10"; ?>
|
• Zufällige Datensätze auslesen
1 2 3 4 5 6 |
<?php // Zufällige Datensätze auslesen $sql = "SELECT * FROM `tabelle` ORDER BY RAND()"; ?>
|
• Suchen unter Berücksichtigung von Groß- und Kleinschreibung
1 2 3 4 5 6 7 8 9 10 11 |
<?php /* Suchen unter Berücksichtigung von Groß- und Kleinschreibung "BINARY" */ $sql = "SELECT * FROM `tabelle` WHERE BINARY `beschreibung` LIKE '%" . $suchbegriff . "%' "; ?>
|
• Löschen eines Datensatzes oder mehrere Datensätze
1 2 3 4 5 6 7 |
<?php /* Löschen eines Datensatzes oder mehrere Datensätze (Auswahl über Checkbox-Button) */ $sql = "DELETE FROM `tabelle` WHERE `id` IN (" . implode(",", $_POST["delete_id"]) . ")"; ?>
|
• Gleiche Datensätze anzeigen
1 2 3 4 5 6 7 8 9 |
<?php /* Gleiche Datensätze anzeigen */ $sql = "SELECT * FROM tabelle WHERE spalte IN ( SELECT spalte FROM tabelle GROUP BY spalte HAVING COUNT(1) > 1 )"; ?>
|
• DATE Feld (YYYY-MM-DD) nach Monaten sortieren
1 2 3 4 5 6 7 8 |
<?php /* DATE Feld (YYYY-MM-DD) nach Monaten sortieren */ $sql = "SELECT name, geburtstag FROM tabelle WHERE MONTH(geburtstag) = DATE('m') ORDER BY MONTH(geburtstag) ASC, DAYOFMONTH(geburtstag) LIMIT 0 , 30"; ?>
|
• Datensätze (Gehalt) zwischen 2000 und 3000 anzeigen
1 2 3 4 5 6 |
<?php /* Datensätze zwischen 2000 und 3000 anzeigen */ $sql = "SELECT name, gehalt FROM tabelle WHERE gehalt BETWEEN 20000 AND 30000"; ?>
|
• Datensatz Wert erhöhen
1 2 3 4 5 6 |
<?php /* Datensatz Wert erhöhen */ $sql = "UPDATE tabelle SET gehalt = gehalt + 100 WHERE name = Werner"; ?>
|
• Datensatz Wert um 10% veringern
1 2 3 4 5 6 |
<?php /* Datensatz Wert um 10% veringern */ $sql = "UPDATE tabelle SET gehalt = gehalt * 0.9 WHERE name = Werner"; ?>
|
• Datensatz Wert um 5% erhöhen
1 2 3 4 5 6 |
<?php /* Datensatz Wert um 5% erhöhen */ $sql = "UPDATE tabelle SET gehalt = gehalt * 1.05 WHERE name = Werner"; ?>
|
• Datensätze einer Tabelle zählen
1 2 3 4 5 6 |
<?php /* Datensätze einer Tabelle zählen */ $sql = "SELECT COUNT(*) AS spalte FROM tabelle"; ?>
|
• Datensätze sortieren nach Länge der Zeichen
1 2 3 4 5 6 |
<?php /* Datensätze sortieren nach Länge der Zeichen */ $sql = "SELECT spalte FROM tabelle ORDER BY LENGTH(spalte) DESC"; ?>
|
• Wie oft ist ein Eintrag in einer Spalte vorhanden
1 2 3 4 5 6 7 8 |
<?php /* Wie oft ist ein Eintrag in einer Spalte vorhanden */ $text = "Lorem"; $sql = "SELECT COUNT(spalte='$text') AS spalte FROM tabelle WHERE spalte = '$text'"; ?>
|
Rückgabewert: Anzahl von
$text in der Spalte.
• Doppelte Einträge verhindern
Setzen Sie eine Spalte auf UNIQUE (zum Beispiel die Spalte `
name`).
1 2 3 4 |
<?php /* Spalte auf UNIQUE setzen */ $sql = "ALTER TABLE `tabelle` ADD UNIQUE (`name`)"; ?>
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php /* Doppelte Einträge verhindern */ $sql = "INSERT INTO `tabelle` (`name`,`punkte`) VALUES ('Blubb', '12')";
if (mysql_query($sql)) { echo "Daten gespeichert."; } else { // Nummer der Fehlermeldung abfangen if (mysql_errno() == 1062) { // Duplicate entry echo "Eintrag ist bereits vorhanden!"; } } ?>
|
• AUTO_INCREMENT zurücksetzen
1 2 3 4 |
<?php /* AUTO INCREMENT zurücksetzen */ $sql = "ALTER TABLE `tabelle` AUTO_INCREMENT = 1"; ?>
|