SQL-Grundbefehle

Werbung
SQL-Grundbefehle
Page 1 of 4
Tipps & Tricks
S Q L-GRUNDLAGEN
SQL-Grundbefehle
Die Structured Query Language (SQL) ist eine sehr
leistungsfähige Abfragesprache für relationale Datenbanken
(z. B. Oracle, Access, SQL-Server). Es gibt - wie bei jeder
Programmiersprache - verschiedene SQL-Dialekte, die sich
mehr oder weniger weit vom SQL-Standard (ANSI-Standard
von 1992, auch SQL-92 genannt) entfernen. Die Grundsyntax
der vier wichtigsten Befehle zum Auswerten und Verändern
des Datenbestandes ist jedoch bei allen Dialekten
(weitgehend) gleich.
Hier für Einsteiger die vier SQL-Anweisungen SELECT (mit
JOIN-Erweiterung), INSERT, UPDATE und DELETE. Und
außerdem gib's das auch als PDF-Datei zum Herunterladen.
SELECT
Fragt Tabellen oder Sichten ab und stellt
Daten dar
Grundsyntax
SELECT <Feldnamen | *> FROM <Tabelle>
[WHERE <Filterbedingung>]
SELECT KundeNr, Nachname, Vorname FROM
Kunden
WHERE Ort = ‘Berlin’
SELECT * FROM Artikel
SELECT ruft Daten aus Tabellen oder Sichten ab. Dabei können
bestimmte Spalten ausgewählt oder Reihen gefiltert werden.
Außerdem dient SELECT zur Darstellung verknüpfter Tabellen
und zur Berechnung von Werten.
Die Feldnamen können in der Anweisung in beliebiger
http://www.kaczenski.de/it-service/sql-basics.htm
22.01.2004
SQL-Grundbefehle
Page 2 of 4
Reihenfolge angegeben werden; mehrere Felder werden durch
Komma getrennt. Alle Felder einer Tabelle lassen sich am
einfachsten mit dem Sternchen * ausgeben.
JOIN
Verknüpft Tabellen oder Sichten
Grundsyntax
SELECT <Feldnamen | *> FROM <Tabelle1>
JOIN <Tabelle2>
ON <Tabelle1.Feld> = <Tabelle2.Feld>
Beispiele
SELECT Artikelname, Kategoriename FROM
Artikel
JOIN Kategorien
ON Artikel.KatNr = Kategorie.KatNr
JOIN verknüpft zwei Tabellen anhand je eines Feldes aus
beiden Tabellen, das übereinstimmende Werte enth ält.
Normalerweise ist dieses Feld in einer Tabelle Primärschlüssel
und in der anderen Fremdschlüssel. Wird nichts weiter
angegeben, handelt es sich um einen "Inner Join", d. h. nur
solche Reihen werden zurückgegeben, in denen in beiden
Tabellen Werte existieren.
INSERT
Fügt neue Reihen in eine Tabelle oder Sicht
ein
Grundsyntax
INSERT [INTO] <Tabelle> VALUES
(<Wertliste>)
Beispiele
INSERT INTO Kunden VALUES (‘Müller’,
‘Carla’, ‘Hauptstr. 11’, ‘12345’,
‘Nirgendwo’)
INSERT Artikel (Nr, Kategorie, Name,
Preis)
VALUES (DEFAULT, 17, ‘Bleistift’, 1,29)
Mit INSERT wird eine neue Reihe in eine Tabelle eingefügt.
Dabei wird meist mit VALUES eine explizite Wertliste
übergeben, die entweder genau so viele Werte in derselben
Datentypfolge enth ält, wie die Tabelle vorschreibt, oder deren
zu füllende Felder vor der VALUES-Klausel angegeben sind.
http://www.kaczenski.de/it-service/sql-basics.htm
22.01.2004
SQL-Grundbefehle
Page 3 of 4
Alternativ kann anstelle der VALUES -Klausel auch eine
SELECT-Anweisung stehen, die die einzufügenden Werte
liefert.
UPDATE
Verändert Werte in einer Tabelle oder Sicht
Grundsyntax
UPDATE <Tabelle> SET <Feld> = <Wert>
[...]
[FROM <Tabellen>]
WHERE <Filterbedingung>
Beispiele
UPDATE Kunde SET Tel = ‘040-12345’, Fax =
NULL
WHERE KundeNr = 1125
UPDATE Artikel SET Preis = Preis * 1,2
FROM Artikel JOIN Kategorien
ON Artikel.Kategorie =
Kategorien.Kategorie
WHERE Kategoriename = ‘Getränke’
Die UPDATE-Anweisung ändert die angegebenen Felder in
allen Reihen, die zum angegebenen Filterkriterium passen.
Achtung: Da UPDATE immer mengenbezogen arbeitet, werden
alle Reihen einer Tabelle geändert, wenn man keinen Filter
angibt!
DELETE
Löscht Reihen aus einer Tabelle oder Sicht
Grundsyntax
DELETE <Tabelle> [FROM <Tabellen>]
WHERE <Filterbedingung>
Beispiele
DELETE Kunde WHERE KundeNr > 50
DELETE Artikel
FROM Artikel JOIN Kategorien
ON Artikel.Kategorie =
Kategorien.Kategorie
WHERE Kategoriename = ‘Getränke’
DELETE löscht alle Reihen aus der direkt hinter der Anweisung
angegebenen Tabelle, auf die das Filterkriterium zutrifft. Dabei
kann sich das Filterkriterium auch auf Werte einer verknüpften
Tabelle beziehen, wie das zweite Beispiel zeigt (lösche alle
http://www.kaczenski.de/it-service/sql-basics.htm
22.01.2004
SQL-Grundbefehle
Page 4 of 4
Artikel der Kategorie "Getr änke" aus der Artikeltabelle).
Achtung: Auch DELETE arbeitet mengenbezogen und löscht
alle Reihen, falls das Filterkriterium weggelassen wird!
© 2000 Nils Kaczenski
Zuletzt geändert am 1.6.2000.
http://www.kaczenski.de/it-service/sql-basics.htm
22.01.2004
Herunterladen