MySQL - MySQL 1 Informationen zu MySQL 1 Informationen zu MySQL 1.1 Verwendung Millionen...

download MySQL - MySQL 1 Informationen zu MySQL 1 Informationen zu MySQL 1.1 Verwendung Millionen Webauftritte

If you can't read please download the document

  • date post

    18-Oct-2020
  • Category

    Documents

  • view

    0
  • download

    0

Embed Size (px)

Transcript of MySQL - 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