MySQL - PDF file MySQL 1 Informationen zu MySQL 1 Informationen zu MySQL 1.1 Verwendung Millionen...
date post
18-Oct-2020Category
Documents
view
2download
0
Embed Size (px)
Transcript of MySQL - PDF file MySQL 1 Informationen zu MySQL 1 Informationen zu MySQL 1.1 Verwendung Millionen...
MySQL
M. Sabath
17. August 2007
MySQL Inhaltsverzeichnis
Inhaltsverzeichnis
1 Informationen zu MySQL 4
1.1 Verwendung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Verbindung zu MySQL 5
2.1 Vorbereitungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1 Pfadangabe unter Windows . . . . . . . . . . . . . . . . . . . . . 5
2.1.2 Probleme mit Umlauten . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Mit dem Server verbinden . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3 Abfragen an eine Datenbank 7
3.1 Vorbereitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2 Arbeiten mit Datenbanken . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2.1 Backup einer Datenbank . . . . . . . . . . . . . . . . . . . . . . . 8
3.2.2 Wiederherstellen einer Datenbank . . . . . . . . . . . . . . . . . 8
3.3 Abfragen stellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.3.1 Anzeigen aller Datenbanken . . . . . . . . . . . . . . . . . . . . . 8
3.3.2 Auwahl einer Datenbanken . . . . . . . . . . . . . . . . . . . . . 9
3.3.3 SELECT Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3.4 ORDER BY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3.5 LIMIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3.6 AS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3.7 COUNT() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3.8 DISTINCT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3.9 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.4 Bedingungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.5 Abfragen gruppieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
M. Sabath 2
MySQL Inhaltsverzeichnis
3.6 Mustervergleich . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.6.1 LIKE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.6.2 REGEXP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.7 Datens�tze l�schen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.8 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.8.1 Allgemein . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.8.2 Wie lautet die entsprechende Anweisung . . . . . . . . . . . . . . 15
3.8.3 Wie lautet die entsprechende Frage . . . . . . . . . . . . . . . . . 15
3.8.4 Sonstiges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4 L�sungen 18
4.1 Aufgaben 3.3.9 Seite 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.2 Aufgaben 3.8.2 Seite 15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.3 Aufgaben 3.8.3 Seite 15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.4 Aufgaben 3.8.4 Seite 16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
M. Sabath 3
MySQL 1 Informationen zu MySQL
1 Informationen zu MySQL
1.1 Verwendung
Millionen Webauftritte nutzen MySQL. U.a. Associated Press, Citysearch, Cox Com-
munications, Los Alamos Natinal Labs, Lycos, NASA, Sony, Suzuki, Wikipedia und
Yahoo.1
1nach Michael Ko�er in MySQL 5, 3. Au�age, ADDISON-WESLEY
M. Sabath 4
MySQL 2 Verbindung zu MySQL
2 Verbindung zu MySQL
2.1 Vorbereitungen
2.1.1 Pfadangabe unter Windows
Um eine Verbindung mit MySQL herzustellen nutzen wir das Programm mysql ,
welches sich im bin Verzeichnis /xampplite/mysql/bin be�ndet. Der Zugri� auf
mysql erfolgt �ber ein Konsolefenster. Da bei uns MySQL nicht standardm��ig
installiert ist, be�ndet sich das bin Verzeichnis nicht im Pfad. D.h. man m�sste
jedesmal in das Verzeichnis wechseln um damit arbeiten zu k�nnen. Einfacher ist es
die Pfadangabe mit folgendem Befehl zu �ndern1:
path=%path%;e:\xampplite\mysql\bin
Die �nderung der Pfadangabe bezieht sich nur auf das momentan ge��nete Fenster.
2.1.2 Probleme mit Umlauten
kommt noch
2.2 Mit dem Server verbinden
mysql -u username -p
Dies ist einfachste M�glichkeit, sich mit dem Server zu verbinden. Auf den ersten
Blick hat sich nicht viel ge�ndert. Nur das Prompt, es lautet jetzt mysql> . Jetzt
kann es losgehen, die Verbindung steht. Nachstehend eine Tabelle mit Befehlen, die
eine informative Interaktion mit dem Server erlauben. Es ist darauf zu achten, dass
1Die Pfandangaben entsprechend den Gegebenheiten anpassen.
M. Sabath 5
MySQL 2 Verbindung zu MySQL
jeder Befehl mit einem ; abgeschlossen wird.
Kurzbefehl Befehl Erkl�rung
\? help zeigt eine Liste aller Kommandos an
\G ego zeigt Ergebnis vertikal an
\T tee dateiname schreibt alle Ein- und
Ausgaben in die angegeben Datei
\t notee beendet Ausgabe in eine Datei
\q quit beendet die aktuelle Verbindung
\. source dateiname f�hrt SQL Befehle einer Textdatei aus
\u use datenbankname nutzt die angegeben Datenbank
Aufgaben
1. Lass dir mit show databases; alle vorhandenen Datenbanken anzeigen.
2. Schreibe die Ausgabe der Datenbanken in eine Datei datenbanken.sql .
3. W�hle die Datenbank musikcds .
4. Lass dir mit show tables; alle Tabellen anzeigen.
5. Lass dir mit select * from alben alle Titel anzeigen und schreibe sie in die
Datei lieder.sql .
6. Beende die Verbindung zum Server und verbinde dich erneut.
7. Nutze eine sql Befehlsdatei um Aufgabe 5-7 erneut zu l�sen.
8. Exportiere mit Hilfe von phpMyAdmin die gesamte Datenbank musikcds in
eine sql-Datei.
9. �ndere in dieser Datei den Namen2 der Datenbank in musikcds2 und impor-
tiere sie mit Hilfe von mysql source .
2 Achtung nicht in Notepad den Namen der Datenbank �ndern. Nutze ein Schreibprogramm wie
Word, oder Writer. Anschlieÿend als reine Textdatei speichern. Bei �nderungen mit Notepad
erhaltet ihr ansonsten eine Fehlermeldung. Dies liegt an der unterschiedlichen Behandlung von
Zeilenumbr�chen. Neue Anfragen k�nnen hingegen problemlos mit Notepad erstellt werden.
M. Sabath 6
http://nachlesen.com/tuts/mysql/musikcds.zip
MySQL 3 Abfragen an eine Datenbank
3 Abfragen an eine Datenbank
3.1 Vorbereitung
Beim Erlernen von MySQL ist sinnvoll die Anfragen an und die Antworten vom Ser-
ver mit protokollieren zu lassen. Um den Tippaufwand zu minimieren kann man die
Anfragen in einer normalen Textdatei speichern und von dort mit mysql einlesen.
Bei allen folgenden Anfragen an den Server gehe ich davon aus, dass sich die Kom-
mandos in einer Datei f:\mysql\abfragen.sql be�nden. Zum Protokollieren der
Ausgaben des Servers bietet nutzen wir die \T bzw. die \t Option zum Star-
ten und Beenden der Protokollfunktion von MySQL. Alle Ausgaben sollen in dem
Verzeichnis f:\mysql\ausgaben gespeichert werden.D.h. um dies alles zum Laufen
zu bringen m�sst ihr als erstes eine Textdatei abfragen.sql erstellen (die En-
dung sql spielt keinen Rolle, ihr k�nnt auch txt oder etwas anderes nehmen. Wich-
tig ist nur, dass es eine reine Textdatei ist). In mysql gebt ihr dann folgendes ein:
source f:\mysql\abfragen.sql 1. Kommentare k�nnen in der Datei mit - -
angegeben werden. ACHTUNG: Keinen Strichpunkt hinter diesem Kommando! 2
Es ist darauf zu achten in einer solchen Textdatei die Befehle show databases und
use datenbankname nicht miteinander zu verwenden, da dies zu einer Fehlermel-
dung f�hrt. Am besten beiden Befehle aus einer Textdatei herauslassen und direkt
eingeben.
1 Der Pfad zu der Datei braucht nicht getippt zu werden. Es gen�gt die Datei per Drag and Drop
�ber das Konsolefenster zu ziehen. 2 Ab hier unbedingt beachten wann und wo ein Semikolon gesetzt wird.
M. Sabath 7
MySQL 3 Abfragen an eine Datenbank
3.2 Arbeiten mit Datenbanken
3.2.1 Backup einer Datenbank
Um ein Backup einer Datenbank zu erstellen bietet MySQL ein separates Programm
mysqldump. Um ein Backup der Datenbank musikcds zu erstellen gibt man in der
Komandozeile ein: mysqldump -u username -p musikcds > textdateiname.sql .
Be�ndet sich die Datenbank auf einem anderen Rechner wird die Option -h ben�tigt:
mysqldump -h rechnername -u username -p musikcds > musikcdsBackup.sql .
3.2.2 Wiederherstellen einer Datenbank
Zum Wiederherstellen einer Datenbank, wird die Ausgabedatei von mysqldump in
die entsprechende Datenbank eingelesen. Existiert die Datenbank noch nicht, kann
mit create database datenbankname; die Datenbank erstellt werden.
3.3 Abfragen stellen
3.3.1 Anzeigen aller Datenbanken
Der Inhalt der Datei abfragen.sql lautet:
- - folgender Befehl zeigt alle Datenbanken an und speichert die Ausgabe in der Datei ausgabe01.txt
\T f:\mysql\ausgaben\ausgabe01.txt
show databases; 3
\t