Dies ist eine alte Version des Dokuments!
Falls Sie irgendwann einmal Web-Applikationen entwickeln möchten, die Daten aus einer Datenbank auslesen oder in eine Datenbank schreiben, werden Sie SQL-Grundkenntnisse benötigen. Folgende Seite bietet Ihnen einen ersten kurzen Einblick.
__Tiere-Datenbank_aufrufen.bat
mittels Doppelklick aus:TIERE
enthält, ist folgendes SQL-Statement ein guter Start:select * from TIERE;
Beachten Sie, dass jedes SQL-Statement mit einem Strichpunkt ;
abgeschlossen werden muss.
.bat
und die .exe
(die brauchen Sie am Mac nicht)..sqlite
-Datei befindet.sqlite3 -header -column Tiere.sqlite
Es gibt eine Tabelle namens TIERE
. Sie möchten alle Spalten (Felder) und alle Zeilen (Datensätze) dieser Tabelle anzeigen lassen. Die SQL-Syntax dazu lautet ungefähr: "Selektiere alle Spalten von der Tabelle TIERE":
select * from TIERE; | NAME KONTINENT ---------- ---------- Giraffe Afrika Nashorn Afrika Tiger Asien Wildschwei Europa Panda Asien Bison Amerika Elefant Afrika Koala Australien Wolf Europa Murmeltier Europa Loewe Afrika Baer Europa Baer Amerika |
Nochmals etwas im Detail:
Probieren Sie statt dem Stern nach SELECT folgende Möglichkeiten:
select NAME from TIERE; select KONTINENT from TIERE; select KONTINENT, NAME from TIERE;
Sie können die Ausgabe auch durch den Zusatz von order by
sortieren lassen:
select * from TIERE order by NAME; | NAME KONTINENT ---------- ---------- Baer Europa Baer Amerika Bison Amerika Elefant Afrika Giraffe Afrika Koala Australien Loewe Afrika Murmeltier Europa Nashorn Afrika Panda Asien Tiger Asien Wildschwei Europa Wolf Europa |
select KONTINENT, NAME from TIERE order by KONTINENT; | KONTINENT NAME ---------- ---------- Afrika Giraffe Afrika Nashorn Afrika Elefant Afrika Loewe Amerika Bison Amerika Baer Asien Tiger Asien Panda Australien Koala Europa Wildschwei Europa Wolf Europa Murmeltier Europa Baer |
Sie möchten zum Beispiel nur afrikanische Tiere anzeigen lassen. Das funktioniert mit dem Zusatz where <Bedingung>
. Man könnte das auch in etwa so formulieren: "Selektiere alle Spalten der Tabelle TIERE für die gilt: der Inhalt der Feldes KONTINENT ist gleich 'Afrika' ".
select * from TIERE where KONTINENT='Afrika'; | NAME KONTINENT ---------- ---------- Giraffe Afrika Nashorn Afrika Elefant Afrika Loewe Afrika |
Die Zusätze where
und order by
lassen sich auch kombinieren.
Aufgabe:
Selektieren Sie alle Tiere, die in Europa vorkommen, und lassen Sie das Ergebnis sortiert ausgeben.
NAME KONTINENT ---------- ---------- Baer Europa Murmeltier Europa Wildschwei Europa Wolf Europa
Das Prozentzeichen %
steht für beliebige Zeichen (wie * in in der Kommandozeile), … where … like 'A%'
selektiert alle, die mit A
beginnen. Probieren Sie es aus:
select * from TIERE where KONTINENT like 'A%';
sollte alle Tiere aus Afrika und Asien auflisten.
Neue Datensätze können mit INSERT
eingefügt werden. Die Syntax ist etwas umständlich: "Füge ein in Tabelle TIERE für die Felder NAME, KONTINENT und zwar die Werte 'Krokodil' und 'Afrika'.
Das INSERT-Statement verrichtet seine Arbeit kommentarlos (solange keine Fehler auftreten). Sie brauchen daher wieder ein select * from tiere;
, um sich den neu eingefügten Datensatz anzeigen zu lassen.
insert into TIERE ( NAME, KONTINENT ) values ( 'Krokodil', 'Afrika' ); select * from TIERE; | NAME KONTINENT ---------- ---------- Giraffe Afrika Nashorn Afrika Tiger Asien Wildschwei Europa Panda Asien Bison Amerika Elefant Afrika Koala Australien Wolf Europa Murmeltier Europa Loewe Afrika Baer Europa Baer Amerika Krokodil Afrika |
Für jeden Datensatz, der eingefügt werden soll, brauchen Sie ein eigenes INSERT-Statement, Sie können nicht mehrere Datensätze mit einem einzigen INSERT einfügen.
Aufgabe:
Fügen Sie drei Tiere hinzu.
Folgendes Statement würde den Datensatz Wolf löschen:
delete from TIERE where NAME='Wolf';
Seien Sie vorsichtig, folgendes Statement würde nicht nur einen, sondern alle Bären löschen:
delete from TIERE where NAME='Baer';
update TIERE set NAME='Kroko' where NAME='Krokodil';
ändert das Feld NAME
für alle Datensätze für die where
-Bedingung zutrifft.
Aufgaben:
Wie viele Datensätze sind in der gesamten Tabelle?
Wie viele Tiere in Afrika?
Probieren Sie bitte:
select count(*) from TIERE; select count(*) from TIERE where kontinent='Afrika';
SQLite beenden mit: .quit
oder .exit
(die Punkt-Befehle sind SQLite-spezifisch, die gibt es so in anderen Datenbankprogrammen nicht)
SELECT, INSERT, DELETE, UPDATE
Jedes Statement muss mit einem Strichpunkt ;
abgeschlossen werden!
select <Felder> from <Tabelle> ; | |
select <Felder> from <Tabelle> | |
insert into <Tabelle> (<Feld1>, <Feld2>) | Datensatz hinzufügen |
delete from <Tabelle> where <Bedingung> ; | Löschen von Datensätzen |
update <Tabelle> set <Feld1>=…, <Feld2>=… | Bestehende Datensätze ändern |