» SelfLinux » Anwendungs-Software » Datenbanken » MySQL - Datenbanken » Abschnitt 10 SelfLinux-0.10.0
zurück   Startseite Kapitelanfang Inhaltsverzeichnis GFDL   weiter

SelfLinux-Logo
Dokument MySQL - Datenbanken - Abschnitt 10 Revision: 1.1.2.11
Autor:  Alexander Fischer
Formatierung:  Torsten Hemm
Lizenz:  GFDL
 

13 Das Arbeiten mit dem Datensätzen

Nun haben Sie gelernt wie sie Datenbanken und Tabellen erstellen, löschen und verändern können. Da dies aber nicht der einzige Sinn und Zweck von MySQL ist, sehen Sie jetzt wie sie diese Datensätze auch noch füllen, löschen und ändern.


13.1 Das Füllen

mysql> INSERT [LOW_PRIORITY | DELAYED] [IGNORE] [INTO] tbl_name
       [(spaltenname]...)] VALUES (datum1,...),(...).....;

oder:

mysql> INSERT [LOW_PRIORITY | DELAYED] [IGNORE] [INTO] tbl_name
       [(spaltenname]...)] SELECT ...;

oder:

mysql> INSERT [LOW_PRIORITY | DELAYED] [IGNORE] [INTO] tbl_name
       SET spaltenname1=datum1, spaltenname2=datum2, ....;

Das INSERT-Kommando dient dazu, (wie sie bereits ahnen) neue Daten in die Tabelle aufzunehmen. Sie können zwischen den drei Varianten wählen. Aber der wohl am meisten verwendete Befehl wird der erste sein. Mit diesem Befehl können Sie die Daten einfügen die Sie gerne möchten. An dem folgenden Beispiel möchte ich Ihnen gerne zeigen, wie das in etwa aussieht: (Ich beziehe mich hierbei wieder auf die kunden-beispiels-Datenbank)

mysql> INSERT INTO kunden (name, vorname, strasse, plz, ort) VALUES
    -> ('Sommerfeld', 'Frank', 'Waldweg 12', 85221, 'Dachau');

Die Kundennummer wird (da ja mit der Option auto_increment belegt) automatisch von 1 weg hochgezählt.

Möchten Sie z.B. mehrere Datensätze auf einmal eingeben, dann verwenden Sie einfach mehrere Klammerpaare die durch ein Komma getrennt sind:

mysql> INSERT INTO kunden (name, vorname, strasse, plz, ort) VALUES
    -> ('Brunninger', 'Jasmin', 'Giechstrasse 1', 81249, 'Muenchen'),
    -> ('Stadler', 'Matthias', 'Glonntalstrasse 15', 85253, 'Erdweg'),
    -> ('Sistig', 'Marianne', 'Linztal 1', 82149, 'Olching');

Die zweite Methode ist die Option SELECT. Meist werden SELECT-Befehle mittels eines MySQL-Frontends ausgeführt. Diese können in einer Internetseite eingebunden sein. Dabei wird ein Script die Tipparbeit für Sie abnehmen. Aber um Ihnen zu zeigen, wie Sie auch "händisch" damit arbeiten können, zeige ich Ihnen 2 Beispiele wie Sie das bewerkstelligen:

mysql> SELECT * FROM kunden;

damit erhalten Sie (das ganze ist nun sehr unübersichtlich) alle Spalten und Datensätze der Tabelle kunden aufgelistet.

mysql> SELECT kunden_nr, vorname, name, ort FROM kunden;

Sie können auch einzelne Spalten auswählen!



13.2 Die Select-Anweisung

Sie erhalten hier wiederum den Syntax von dem Befehl SELECT. Ich werde Ihnen das Kommando anschließend anhand von Beispielen erklären und zeigen was es für Möglichkeiten gibt.

mysql> SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULTS] [SQL_BIG_RESULTS]
       [SQL_BUFFER_RESULTS]
       [HIGH_PRIORITY]
       [DISTINCT | DISTINCTROW | ALL]

    select_ausdruck....
    [INTO {OUTFILE | DUMPFILE} 'datei_name' export_optionen]
    [FROM tbl_name
        [WHERE where_definitionen]
[GROUP BY {unsigned_integer | spalten_name | formula} [ASC | DESC],
...]
[HAVING where_definition]
[ORDER BY {unsigned_integer | spalten_name | formula} [ASC | DESC],
...]
[LIMIT [offset,] zeilen]
[PROCEDURE prozedur_name]
[FOR UPDATE | LOCK IN SHARE MODE]]

Die Ausgabe von SELECT erzeugt immer eine Tabelle. Der wohl simpelste Befehl lautet SELECT 1;.

Ich führe Ihnen nun einige Beispiele auf, die Ihnen die Möglichkeiten von SELECT zeigen sollen.

mysql> SELECT kunden_nr AS Kundennummer, vorname AS Vorname, name AS
       Name, -> ort AS Ort FROM kunden;

Damit vergeben Sie für die vorhanden Spaltenbezeichnungen, schönere und einprägsamere Namen.

mysql> SELECT COUNT(kunden_nr) FROM kunden;

Mit COUNT können Sie die Anzahl der Datensätze anzeigen lassen.

mysql> SELECT * FROM kunden LIMIT 0, 5;

Ein tolles feature ist LIMIT. Sie können so die Anzahl der zu anzeigenden, Datensätze auf eine bestimmte Anzahl (hier 5) beschränken lassen. In diesem Beispiel heisst es: Zeige mir maximal 5 Treffer ab den ersten Datensatz. Folgend wäre es dann: LIMIT 5,5 LIMIT 10,5 usw. somit erhalten Sie immer die nächsten 5 Sätze auf Ihrem Bildschirm. Verwendet wird diese Anweisung meist bei Suchmaschinen.

mysql> SELECT auftrags_nr, wert AS Netto, wert*1.16 AS Brutto FROM
auftraege;

Sie können auch mittels SELECT Berechnungen ausgeben lassen.

mysql> SELECT vorname, name, strasse, plz, ort FROM kunden WHERE
    -> ort = 'Dachau';

Wer wohnt eigentlich alles von den Kunden in Dachau?

mysql> SELECT vorname, name, strasse, plz, ort FROM kunden WHERE
    -> name LIKE 'Sch%';

Hier werden alle Nachnahmen mit Sch..... aufgelistet.

mysql> SELECT SUM(wert) FROM auftraege WHERE
    -> kunden_nr = 45350

Lassen Sie MySQL einfach mal für Sie rechnen



13.3 Das löschen von Datensätzen

Es soll auch mal vorkommen, dass Sie Datensätze löschen müssen. Dies ist eigentlich weiter nicht tragisch. Sie erhalten vom mir wieder einen Syntax und ein Beispiel dazu.

mysql> DELETE [LOW_PRIORITY | QUICK] FROM tbl_name
           [WHERE where_definition]
   [ORDER BY ...]
   [LIMIT rows]

Beispiel:

mysql> DELETE FROM auftraege WHERE kunden_nr = 1000

Damit löschen Sie den angegebenen Datensatz... Viel Erfolg ;)




zurück   Seitenanfang Startseite Kapitelanfang Inhaltsverzeichnis GFDL   weiter