So,
Vorab: Die Farben benutze ich, um euch die Zusammenhänge klar zu machen. Wenn euch die Farbe stört, kopiert den Text in einen Texteditor und lest es euch da durch!
Teil 2 des
SQL Tutorials. Heute werden wir prüfen, ob ihr alles, was ihr bei Teil 1 durchgelesen, auch behalten habt. Gleichzeitig lernen wir, wie man eine neue
Datenbank erstellt und dort Einträge einfügt.
Das heißt, erstmal brauchen wir eine
Datenbank. Wir auf OV arbeiten mit
MySQL. Man könnte sich
MySQL so runterladen, wir benutzen aber
XAMPP. Das beinhaltet Pakete (
Apache,
MySQL, PHP und Perl). Diese werden auf einfachste Art und Weise installiert. Ihr downloadet euch erstmal
XAMPP für euer Betriebssystem, die Lite-Version reicht vollkommen aus.
Auf den jeweiligen Seiten wird euch gezeigt, wie man
XAMPP auf eurem Betriebssystem installiert. Einfach das Script durchlaufen lassen.
Wenn ihr das gemacht habt, könnt ihr das
XAMPP-Control Panel starten. Wenn dies nicht klappt (als Win7 / Vista Nutzer) einfach mal mit Administratorionsrechten probieren.
Wenn ihr das
XAMPP-Control Panel auf eurem Desktop habt, dann startet
Apache und
MySQL. Funktioniert
MySQL nicht, einfach mal Skype schließen. Erneut euf Start drücken, dann sollte es funktionieren. Wenn es läuft, könnt ihr auch Skype wieder problemlos starten.
Dann braucht ihr ein Passwort für den root-User (Standart User) für euren
SQL-Server. Ihr gebt dazu in eurem beliebig gewählten Explorer 'localhost' ein. Geht links auf 'Sicherheitscheck' und dann auf den Link für das Setzen des
MySQL Root-Passworts. Ihr lasst das alte Passwortfeld leer und gebt einfach ein neues ein. Rest lassen und auf Passwort ändern klicken.
So, dann haben wir das schonmal.
Wenn ihr jetzt auf 'localhost/phpmyadmin' geht, öffnet sich ein Fenster. Dort gebt ihr bei Benutzername 'root' ein und bei Passwort das von euch eben gewählte Passwort.
Ihr seht jetzt links eine Spalte, wo folgende
Datenbanken schon vorhanden sind:
- informations_schema
- MySQL
- phpmyadmin
Daran verändern wir nichts!
Zunächst legen wir eine neue
Datenbank an, wo wir dran rumfuchteln können, wie wir lustig sind. Wir nennen sie 'blubb' (es ist ja eh nur ein Beispiel).
Um eine neue
Datenbank zu erstellen, brauchen wir den
CREATE DATABASE Befehl. Wie der Name bereits sagt, legen wir damit eine neue
Datenbank an. Der Befehl ist aber so noch nicht vollständig. Es muss noch die Zeichenkodierung der
Datenbank anlegen. Wir benutzen hier die UTF8 Zeichenkodierung, dies ist der Standard normalerweise. Um diesen festzulegen, erweitern wir jetzt den
CREATE DATABASE-Befehl um
DEFAULT CHARACTER SET und um
COLLATE. Wenn wir das jetzt zusammenschreiben würden, käme folgendes raus:
CREATE DATABASE `blubb`
DEFAULT CHARACTER SET utf8
COLLATE utf8_general_ci;
Näher will ich darauf jetzt auch nicht eingehen, ihr werdet es später nicht mehr gebrauchen
.
Wenn ihr jetzt auf localhost/phpmyadmin geht und euch einloggt, steht oben ein Reiter 'SQL'. Dort schreibt ihr die oben vorliegenden
SQL-Query rein. Jetzt habt ihr eine leere
Datenbank vorliegen.
Jetzt klären wir erst nochmal, was eine
Tabelle. Ich zitiere das von
http://www.1keydata.com/sql/sql.html , weil es dort verständlich erklärt ist:
Tabellen sind in Zeilen und
Spalten aufgeteilt. Jede Zeile entspricht einem Datenbestandteil und jede
Spalte lässt sich als Entsprechung einer Komponente dieses Datenbestandteils vorstellen. Bei einer
Tabelle für Kundendaten könnten die
Spalten beispielsweise Informationen wie Vorname, Nachname, Straße, Wohnort, Land, Geburtsdatum usw. enthalten. Bei der Definition einer
Tabelle, geben wir dementsprechend die Spaltenkopfzeilen und die
Datentypen für die jeweilige
Spalte an.
Jede Spalte bekommt einen bestimmten
Datentyp zugewiesen. Was das ist? Das zitier ich wieder von
http://www.1keydata.com/sql/sql.html .
Im Allgemeinen liegen Daten in verschiedenen Formen und Formaten vor. Dies kann eine Ganzzahl (wie 1), eine reelle Zahl (wie 0,55), eine Zeichenkette (wie 'sql'), ein Datums-/Zeitausdruck (wie '2000-JAN-25 03:22:22') oder sogar ein binäres Format sein. Wenn wir eine
Tabelle definieren, müssen wir für jede
Spalte den zugehörigen
Datentyp angeben (z.B. für 'Vorname' den Typ char(50), also einen aus 50 Zeichen bestehenden String). Dabei ist zu beachten, dass verschiedene
Datenbänke unterschiedliche
Datentypen erlauben, weshalb zunächst eine
Datenbank spezifische Referenz in Anspruch genommen werden sollte.
Man erzeugt eine neue Tabelle mit dem
CREATE TABLE Befehl. Wie der Name sagt, kreieren wir eine neue Tabelle. Die Syntax dafür ist relativ simpel.
CREATE TABLE `Tabellenname`
(Spaltenname1 Datentyp_für_Spalte_1,
Spaltenname2 Datentyp_für_Spalte_2...);
Dies kann man natürlich beliebig fortsetzen. Für unsere
Datenbank 'blubb' erstellen wir jetzt eine Tabelle 'Personen', wo wir 5
Spalten haben möchten, jede
Spalte soll einen
Datentyp, damit man 25 Zeichen dort reinschreiben kann. Die Spaltennamen sollen heißen:
- Name
- Alter
- Geburtsort
- Wohnort
- Arbeitsort
Mehr brauchen wir gar nicht
Und das ist eure erste Aufgabe: Erstellt diese
Tabelle.
__________________________________________________________________________
So,
jetzt haben wir den Großteil schonmal geschafft von diesem Teil des Tutorials. Jetzt möchten wir diese
Tabelle natürlich füttern. Womit? Mit Daten. Dafür brauchen wir den INSERT INTO Befehl. Die Syntax von diesem Befehl ähnelt dem
CREATE TABLE Befehl. Wir brauchen für den
INSERT INTO Befehl den Tabellennamen, die Spaltennamen und wir müssen wissen, was in die jeweiligen Spalten eingefügt werden soll.
Die komplette Syntax lautet:
INSERT INTO `Tabellenname` ("Spaltenname1", "Spaltenname2", ...)
VALUES ("Wert_von_Spaltenname1, "Wert_von_Spaltenname2", ...);
Hier gehört "Spaltenname1" zu "Wert_von_Spaltenname1" & "Spaltenname2" zu "Wert_von_Spaltenname2" usw.
Wenn ihr einen Wert zu einer
Spalte vergessen habt, dann wird euch phpMyAdmin einen Fehler ausgeben.
Zu eurer zweiten Aufgabe: Füllt die
Tabelle 'Personen' mit Daten. Ihr könnt dort ruhig mehr Personen angeben, eine würde aber ausreichen.
Wenn ihr das geschafft habt, sind wir schon fast durch mit dem zweiten Teil des Tutorials. Ihr müsst mir dann nurnoch eine PN schicken, ich geb euch dann noch eine Kontrollaufgabe Und bis zum nächsten Mal!
Ps.:
Bei Fragen, Anregungen oder Kritik -> schickt mir eine PN