Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
faecher:informatik:oberstufe:datenbanken:sql_abfrage:start [04.11.2020 19:28] – [Datenbankimport] sbel | faecher:informatik:oberstufe:datenbanken:sql_abfrage:start [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== SQL – Daten Abfragen ====== | ||
- | |||
- | ===== Einstieg ===== | ||
- | |||
- | Die Structured Query Language (SQL) ist eine standardisierte Datenbanksprache zur Nutzung auf relationalen Datenbanksystemen wie MySQL. Mit SQL können Abfragen, Manipulationen und Änderungen auf bzw. an den Tabellen der Datenbank vorgenommen werden. | ||
- | |||
- | |||
- | ===== Anmelden am Webinterface ===== | ||
- | |||
- | Wir haben ein zentrales DBMS zur Benutzung durch die Schülerinnen und Schüler eingerichtet: | ||
- | |||
- | <box 90% round #f4ffc3 #e7f5aa #e7f5aa #e7f5aa |**Aufgabe: | ||
- | * Öffne mit deinem Browser das phpmyadmin Interface: http:// | ||
- | * Infos zu Benutzern und Passwort bekommst du im Unterricht. | ||
- | </ | ||
- | |||
- | ===== Datenbankimport ===== | ||
- | |||
- | Wir arbeiten zunächst mit einer Beispieldatenbank, | ||
- | |||
- | <box 90% round #f4ffc3 #e7f5aa #e7f5aa #e7f5aa |**Aufgabe: | ||
- | * Lade die Datei {{ .: | ||
- | * Importiere die Datei in deine Datenbank. Du musst dabei darauf achten, dass du **in der linken Spalte zuerst deine Datenbank auswählst**, | ||
- | </ | ||
- | |||
- | Du erhältst eine Tabelle: '' | ||
- | |||
- | ===== Aufbau einer SQL Abfrage ===== | ||
- | |||
- | Die Sprache SQL (Structured Query Language) wird weltweit gesprochen und (fast) jede (relationale) Datenbank kann damit abgefragt werden. SQL ähnelt etwas dem gesprochenen Englisch und wird in den Abfragen in der Regel mit Großbuchstaben geschrieben, | ||
- | |||
- | Eine Klausel für SQL-Abfragen ist im Wesentlichen folgendermaßen aufgebaut: | ||
- | |||
- | SELECT [DISTINCT] { spalten | * } | ||
- | FROM tabelle [alias] [,tabelle [alias]] ... | ||
- | [WHERE {bedingung}] | ||
- | [GROUP BY spalten [HAVING {bedingung}]] | ||
- | [ORDER BY spalten [ASC | DESC]]; | ||
- | | ||
- | Argumente in eckigen Klammern sind dabei optional, die Schreibweise '' | ||
- | |||
- | ==== Ausführungsreihenfolge ==== | ||
- | |||
- | FROM (Tabellenauswahl) | ||
- | -> WHERE (Zeilenauswahl bzw. Selektion) | ||
- | -> GROUP BY (Gruppierung) | ||
- | -> HAVING (Gruppenauswahl) | ||
- | -> SELECT (Spaltenauswahl bzw. Projektion) | ||
- | -> ORDER BY (Sortierung) | ||
- | | ||
- | ===== Beispiele ===== | ||
- | |||
- | |||
- | Die SQL-Abfrage | ||
- | |||
- | SELECT * FROM artikel WHERE APreis> | ||
- | |||
- | liefert die Tabelle aller Artikel, die teurer als 10 Euro sind. Die Wildcard * steht für alle Tabellenspalten. | ||
- | |||
- | Die Abfrage | ||
- | <code sql> | ||
- | SELECT * FROM artikel WHERE ANr = 100007 | ||
- | </ | ||
- | |||
- | Ermittelt alle Artikel mit der Artikelnummer 100007. | ||
- | |||
- | <box 90% round #f4ffc3 #e7f5aa #e7f5aa #e7f5aa |**Aufgabe: | ||
- | Führe die beiden Beispielabfragen auf deiner Datenbank aus. | ||
- | </ | ||
- | ==== Übung 1 ==== | ||
- | |||
- | Arbeite mit der {{.: | ||
- | |||
- | |||
- | |||
- | - Alle Artikel mit Artikelnummer, | ||
- | - Alle Namen der Bücher. | ||
- | - Artikelnummer, | ||
- | - Artikelnummer, | ||
- | - Alle Bücher, in denen es um CSS geht | ||
- | - Alle Informationen zum Buch mit den Cover-Bild '' | ||
- | - Alle Informationen zu allen Büchern, die weniger als 15EUR kosten | ||
- | |||
- | |||
- | Arbeite jetzt mit {{.: | ||
- | Man kann mit den Werten, die von einer '' | ||
- | |||
- | {{ .: | ||
- | |||
- | Filtere mit einer geeigneten SQL-Abfrage die folgenden Informationen aus der Tabelle heraus. | ||
- | |||
- | - Artikel mit Artikelnummer, | ||
- | - Alle Artikel mit Nummer, Name, altem Preis und neuem Preis aus, wobei der neue Preis dem um eins erhöhten alten Preis entspricht. | ||
- | - Gib die Tabelle aus, die alle verschiedenen Preise der Artikel absteigend sortiert enthält. | ||
- | - Gib die Tabelle mit dem Namen der Artikel aus, deren Preis genau 1,00 Euro beträgt und deren Bestand genau 70 Stück umfasst. | ||
- | - Gib die verschiedenen Preiskategorien der Artikel aus, in deren Namen „datenbank“ vorkommt. | ||
- | - Gib Titel und Preis mit Mehrwertsteuer aus. | ||