Voraussetzungen
Programme
Um überhaupt Anfragen an eine Datenbank stellen zu können, muss es erstmal eine Datenbank geben.
Um die Datenbank zu hosten wird XAMPP verwendet und um die Daten zu bearbeiten bzw. sie einfach aus zu lesen HeidiSQL.
Nachdem beide Programme installiert wurden, können wir die MySQL Datenbank in dem XAMPP Control Panel starten. In HeidiSQL wird eine neue Verbindung hinzugefügt unter localhost:3306 oder 127.0.0.1:3306. Diese Werte sind allerdings grundlegend schon vorhanden und eine Verbindung kann problemlos aufgebaut werden.
Shell
Um die Syntax einer Datenbank besser kennen zu lernen, lohnt es sich direkt aus der Shell der Datenbank Änderungen vor zu nehmen. In XAMPP kann mit dem Button rechts eine Shell geöffnet werden. Von da aus ändern wir den pfad zu:
Hannes@Desktop c:\xampp
# cd mysql\bin
und führen folgenden Befehl aus.
Hannes@Desktop c:\xampp\mysql\bin
# mysql -u root -p
Das Passwort ist standardmäßig nichts. Solange die Datenbank lokal und nicht im Netzwerk gehosted wird, ist dies auch ausreichend.
Die Datenbank erstellen
Befehle innerhalb der Datenbank werden mit ; oder \g beendet und mit ENTER abgesendet. Um uns alle Tabellen an zu zeigen, können wir den SHOW DATABASES; Befehl verwenden:
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| phpmyadmin |
| test |
+--------------------+
5 rows in set (0.000 sec)
Anschließend erstellen wir die Datenbank die wir zum lernen nutzen
MariaDB [(none)]> CREATE DATABASE WMTitel;
Query OK, 1 row affected (0.001 sec)
und wählen sie aus
MariaDB [(none)]> USE wmtitel
Database changed
MariaDB [wmtitel]>
Nun können wir in der Datenbank eine Tabelle erstellen mit Columns. Später können auch weiter Columns hinzugefügt werden.
MariaDB [wmtitel]> CREATE TABLE wmtitel (Saison INT, Fahrerweltmeister TEXT, KonstrukteursWM TEXT, WM_Punkte INT, Team_Punkte INT);
Query OK, 0 rows affected (0.007 sec)
MariaDB [wmtitel]> SHOW TABLES;
+-------------------+
| Tables_in_wmtitel |
+-------------------+
| wmtitel |
+-------------------+
1 row in set (0.000 sec)
MariaDB [wmtitel]> SHOW COLUMNS FROM wmtitel;
+-------------------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+---------+------+-----+---------+-------+
| Saison | int(11) | YES | | NULL | |
| Fahrerweltmeister | text | YES | | NULL | |
| KonstrukteursWM | text | YES | | NULL | |
| WM_Punkte | int(11) | YES | | NULL | |
| Team_Punkte | int(11) | YES | | NULL | |
+-------------------+---------+------+-----+---------+-------+
5 rows in set (0.008 sec)
Daten Einfügen
Nun fügen wir Stück für Stück die Daten in die Tabelle ein.
MariaDB [wmtitel]> INSERT INTO wmtitel (Saison)
-> VALUES ('1991'), ('1992'), ('1993'),('1994'),('1995'),('1996'),('1997'),('1998'),('1999'),('2000'),('2001'),('2002');
Zur Kontrolle können wir nun die erste Datenbank-Anfrage stellen um die Daten aus zu lesen:
MariaDB [wmtitel]> SELECT * FROM wmtitel;
+--------+-------------------+-----------------+-----------+-------------+
| Saison | Fahrerweltmeister | KonstrukteursWM | WM_Punkte | Team_Punkte |
+--------+-------------------+-----------------+-----------+-------------+
| 1991 | NULL | NULL | NULL | NULL |
| 1992 | NULL | NULL | NULL | NULL |
| 1993 | NULL | NULL | NULL | NULL |
| 1994 | NULL | NULL | NULL | NULL |
| 1995 | NULL | NULL | NULL | NULL |
| 1996 | NULL | NULL | NULL | NULL |
| 1997 | NULL | NULL | NULL | NULL |
| 1998 | NULL | NULL | NULL | NULL |
| 1999 | NULL | NULL | NULL | NULL |
| 2000 | NULL | NULL | NULL | NULL |
| 2001 | NULL | NULL | NULL | NULL |
| 2002 | NULL | NULL | NULL | NULL |
+--------+-------------------+-----------------+-----------+-------------+
12 rows in set (0.000 sec)
Um nun der Zeile mit der Saison einen Wert hinzu zu fügen, müssen wir anstelle des INSERT INTO Befehls, den UPDATE Befehl verwenden.
MariaDB [wmtitel]> UPDATE wmtitel
-> SET Fahrerweltmeister = 'Ayrton Senna'
-> WHERE Saison = '1991';
Query OK, 1 row affected (0.002 sec)
Rows matched: 1 Changed: 1 Warnings: 0
Nun müssten wir für jeden Wert einzeln solch eine Anfrage stellen. Da dies allerdings etwas aufwendig ist, können wir uns HeidiSQL zu nutze machen. Wir wählen einfach die Datenbank wmtitel und Tabelle wmtitel aus und gehen oben auf den Reiter Daten um die Daten manuell mit einer GUI ein zu fügen. Dies geht etwas einfacher. Am Ende sollte es so aussehen:
Jetzt ist alles Vorbereitet um mit den einzelnen Befehlen sich zu befassen.