|
T u t o r i a l
|
|
MySQL Tutorial > Kapitel 2: Hauptbefehle
Antworten zu Fragen aus Kapitel 1:
1. In was werden Tabellen gespeichert?
In Datenbanken.
2. Was ist ein Record?
Ein Datensatz, bzw. eine Zeile.
3. Welcher drei Hauptdatentypen kennst du?
Varchar, Text, Int.
4. Wie erstellt man eine Tabelle mit einer ID, die sich automatisch erhöht?
Man wählt den Primärschlüssel für das ID Feld und setzt das Extrafeld auf "Auto-Increment".
5. Mit welcher Funktion trennt man PHP von MySQL?
Mit mysql_close().
6. Mit welcher Funktion sendet man einen Query; Befehlssatz an MySQL?
Mit
mysql_query().
Die vier Hauptbefehle zur Datenmanipulation
INSERT -
Fügt eine Zeile in eine Tabelle ein.
SELECT -
Kann eine oder mehrere Zeilen auslesen.
UPDATE -
Ändert einzelne Werte von bestimmten oder allen Zeilen.
DELETE -
Löscht eine oder mehrere Zeilen einer Tabelle.
INSERT
Mit INSERT
kannst Du deine Tabelle mit Daten füllen. Dies sieht folgendermaßen aus:
Tutorial_Kapitel2_Beispiel_1.php:
<?php
$connect = mysql_connect("localhost", "Luky", "123456789") OR die("Keine Verbindung"); mysql_select_db("NeueDatenbank", $connect) OR die("Falsche Datenbank"); $q = mysql_query("INSERT into NeueDatenbank_Tabelle1 (name,passwort) VALUES ('Maxi','muhmuh87')", $connect) OR echo mysql_error(); mysql_close($connect);
?>
|
Tutorial_SQLSyntax_INSERT.sql:
INSERT into TABLENAME (column1, column2, column3...) VALUES ('value1', 'value2', 'value3'....)
|
Wenn Du Tutorial_Kapitel2_Beispiel_1.php ausführst, sollte sich in deiner
Tabelle eine Zeile
befinden in der der Name "Maxi" steht.
SELECT
Nun will sich Maxi einloggen.
Tutorial_Kapitel2_Beispiel_2.php:
<?php
$connect = mysql_connect("localhost", "Luky", "123456789") OR die("Keine Verbindung"); mysql_select_db("NeueDatenbank", $connect) OR die("Falsche Datenbank"); $q = mysql_query("SELECT * from NeueDatenbank_Tabelle1 WHERE name='".mysql_real_escape_string($_POST["name"])."' AND passwort='".mysql_real_escape_string($_POST["passwort"])."'", $connect) OR echo mysql_error(); if(mysql_num_rows($q) > 0) { echo "Eingeloggt!"; } else { ?> <form method="POST" action="Tutorial_Kapitel2_Beispiel_2.php">Name: <input type="text" name="name">
Passwort: <input type="password" name="passwort"><input type="submit" value="Los"></form> <?php echo "Nicht eingeloggt!"; } mysql_close($connect);
?>
|
Tutorial_SQLSyntax_SELECT1.sql:
Tutorial_SQLSyntax_SELECT2.sql:
SELECT column1,column2,column3... from TABLENAME WHERE column1='value' AND column2='value' OR column3='value'
|
Wenn Du nach SELECT einen Stern hinschreibst, sind alle Spalten der
Tabelle verfügbar. Wenn du jedoch nur die einzelnen Namen der Spalten nennst
(getrennt mit Beistrich), dann sind nur diese verfügbar.
WHERE?
Der WHERE Hinweis sagt MySQL dass es nur eine Zeile mit den darauffolgenden
Bedingungen sein darf.
mysql_real_escape_string()
Immer wenn Du Daten von Benutzern in SQL Queries einbaust, solltest du
diese mit mysql_real_escape_string()
einsetzen. Dies verhindert, dass der Benutzer seinen eigenen SQL Code in deinen
Server einschleusen kann.
UPDATE
Maxi will jetzt aber sein Passwort ändern.
Tutorial_Kapitel2_Beispiel_3.php:
<?php
$connect = mysql_connect("localhost", "Luky", "123456789") OR die("Keine Verbindung"); mysql_select_db("NeueDatenbank", $connect) OR die("Falsche Datenbank"); $q = mysql_query("UPDATE NeueDatenbank_Tabelle1 SET passwort='123456' WHERE name='Maxi'", $connect) OR echo mysql_error(); mysql_close($connect);
?>
|
Tutorial_SQLSyntax_UPDATE1.sql:
UPDATE TABLENAME SET column1='value',column2='value',...
|
Tutorial_SQLSyntax_UPDATE2.sql:
UPDATE TABLENAME SET column1='value',column2='value',... WHERE column1='value' AND column2='value'
|
DELETE
Du erkennst nun, dass Maxi böse ist und willst ihn löschen.
Tutorial_Kapitel2_Beispiel_4.php:
<?php
$connect = mysql_connect("localhost", "Luky", "123456789") OR die("Keine Verbindung"); mysql_select_db("NeueDatenbank", $connect) OR die("Falsche Datenbank"); $q = mysql_query("DELETE from NeueDatenbank_Tabelle1 WHERE name='Maxi'", $connect) OR echo mysql_error(); mysql_close($connect);
?>
|
Tutorial_SQLSyntax_DELETE1.sql:
Tutorial_SQLSyntax_DELETE2.sql:
DELETE from TABLENAME WHERE column1='value' AND column2='value'
|
Fragen zu diesem Kapitel:
1. Wozu dient das SELECT
Statement?
2. Wozu dient das
DELETE
Statement?
3. Wozu dient das
UPDATE
Statement?
4. Wozu dient das INSERT
Statement?
Alle Beispiele von Kapitel 2
|
|
|