Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

(Structured Query Language)

Ähnliche Präsentationen


Präsentation zum Thema: "(Structured Query Language)"—  Präsentation transkript:

1 (Structured Query Language)
SQL Datenbanksprache SQL (Structured Query Language)

2 Artikel - Datenbank Datenbank Datenbank: Sammlung von Daten (Eigenschaften) von Objekten Die Datenbank kann vom Benutzer nach bestimmten Kriterien abgefragt werden. Die Objekte werden Entitäten genannt. Der Objekttyp (Bauplan) heißt Entitätstyp Darstellung durch ein Rechteck. Eine Entität hat Eigenschaften (Attribute) Darstellung durch Rechtecke mit abgerundeten Ecken. Modellierung

3 Artikel - Datenbank ANr Artikel ALieferumfang AName ABestand ABild
APreis Die Daten zu den verschiedenen Artikeln werden in einer Tabelle verwaltet. Die Attribute sind die Spaltenköpfe. ... 10 Karten 34 12.00 31105.jpg Mittelalt. Stundenbücher 31105 15 Karten 55 15.00 3130.jpg Jubiläumsedition 3130 69 31190.jpg Lustige Winterfiguren 31190 ALieferumfang ABestand APreis ABild AName ANr

4 Datenbanksystem MySQL
Das Datenbanksystem MySQL ist das zur Zeit populärste Open-Source-DBS der Welt. Vor allem im World Wide Web wird es zur Herstellung dynamischer Webseiten eingesetzt. MySQL arbeitet auf der Grundlage der standardisierten Datenbanksprache SQL. SQL, in den 70er Jahren des 20. Jh. von der Firma IBM entwickelte Abfragesprache für die relationale Datenbank DB2. MySQL MySQL Daten Datenbank Datenbankmanagmentsystem mit SQL Artikel

5 Sprachelemente von SQL
Die SQL-Befehle lassen sich in verschiedene Bereiche untergliedern: Datenabfrage, Datendefinition, Datenmanipulation und Rechteverwaltung Befehl zur Datenabfrage: SELECT Befehle zur Datenmanipulation: INSERT, UPDATE, DELETE Befehle zur Datendefinition: CREATE, ALTER, DROP phpMyAdmin ist ein Tool (Frontend) mit dem man MySQL-Datenbanken verwalten kann. Start im browser mit: ip-Adresse des Lehrerrechners/phpmyadmin

6 phpMyAdmin

7 Der SELECT Befehl - allgemein
SELECT [DISTINCT] { spalten | * } FROM tabelle [alias] [,tabelle [alias]] ... [ WHERE { bedingung } ] [GROUP BY spalten [HAVING {bedingung }]] [ORDER BY spalten [ASC | DESC]]; Der SELECT Befehl - allgemein Selektion Projektion ANr AName ABild APreis ABestand ALieferumfang 31120 Weihn. Formenspiel 31120.jpg 13.00 69 10 Karten 3130 Jubiläumsedition 3130.jpg 15.00 55 15 Karten 31105 Mittelalt. Stundenbücher 31105.jpg 12.00 34 ...

8 Der SELECT Befehl - Projektion
SELECT * FROM artikel SELECT ANr, AName, APreis FROM artikel SELECT ANr AS Nummer, AName AS Bezeichnung, APreis AS Preis FROM artikel SELECT ANr AS Nummer, AName AS Bezeichnung, APreis AS Preis FROM artikel ORDER BY APreis SELECT ANr AS Nummer, AName AS Bezeichnung, APreis AS Preis FROM artikel ORDER BY APreis, AName Beim Tabellennamen muss Groß / Kleinschreibung beachtet werden. In ORDER BY darf auch der ALIAS-Name (z.B. Preis) verwendet werden. Standard bei ORDER BY ist ASC

9 Der SELECT Befehl – Berechnete Spalte
Bei einer Abfrage können auch neue Spalten erzeugt werden: SELECT AName, APreis, (APreis*1.16) AS Preis_mit_Mwst FROM artikel AName APreis Preis_mit_Mwst Weihnachtliches Formenspiel 13.00 15.08 Jubiläumsedition 15.00 17.40 Mittelalterliche Stundenbücher 12.00 13.92 Der SELECT Befehl – Berechnete Spalte

10 Der SELECT Befehl - DISTINCT
DISTINCT gibt an, dass im Ergebnis nur verschiedene Zeilen auftauchen dürfen. SELECT DISTINCT ALieferumfang FROM artikel ALieferumfang 10 Karten 15 Karten 8 Karten Der SELECT Befehl - DISTINCT

11 Der SELECT Befehl - WHERE (Selektion)
SELECT * FROM artikel WHERE APreis = 6 SELECT * FROM artikel WHERE APreis = 6 AND ALieferumfang = "10 Karten" SELECT * FROM artikel WHERE ANr < 10000 SELECT ANr, AName, ABestand FROM artikel WHERE ABestand BETWEEN 50 AND 60 Der Vergleichsoperator LIKE ermöglicht den Vergleich eines Feldes mit einem Text, der den Platzhalter % enthalten kann. % steht für eine beliebige Anzahl von Zeichen. SELECT * FROM artikel WHERE AName LIKE "%Kalender%" (Groß / Kleinschreibung spielt bei LIKE keine Rolle) Der SELECT Befehl - WHERE (Selektion)

12 Der SELECT Befehl - GROUP BY, COUNT, SUM
Mit der GROUP BY können Datensätze in Gruppen eingeteilt werden. Dabei wird jeder Datensatz genau einer Gruppe zugeordnet. COUNT (*) zählt die Anzahl der erhaltenen Datensätze je Gruppe SELECT APreis FROM artikel GROUP BY APreis SELECT APreis AS Preis_in_Euro, COUNT(*) AS Anzahl_der_Artikel FROM artikel GROUP BY APreis (Wie viele verschiedene Artikel gibt es von den verschiedenen Preisen) SELECT APreis AS Preis, SUM(ABestand) AS Verfügbare_Artikel FROM artikel GROUP BY APreis Der SELECT Befehl - GROUP BY, COUNT, SUM

13 Der SELECT Befehl GROUP BY spalten [HAVING {bedingung }]
Wenn man nicht an allen Gruppen interessiert ist, so kann man mit der having-Klausel die in Frage kommenden Gruppen auswählen. SELECT APreis AS Preis_in_Euro, COUNT(*) AS Anzahl_der_verschiedenen_Kalender FROM artikel WHERE AName LIKE ("%kalende%") GROUP BY APreis HAVING Preis_in_Euro BETWEEN 8 AND 13 Preis_in_Euro Anzahl_der_verschiedenen Kalender 9.00 1 13.00 2 Der SELECT Befehl GROUP BY spalten [HAVING {bedingung }]

14 Der UPDATE Befehl Der UPDATE Befehl modifiziert den Inhalt eines Datenfeldes. UPDATE Tabelle SET Spalte1 = Wert1 [Spalte2 = Wert2] ... [WHERE Bedingung] UPDATE artikel Set ABestand = ABestand WHERE ABestand = 69 31120 Weihnachtliches Formenspiel 1069 34520 Grafische Weihnachtspostkarten 98 32240 Kunsthandwerk aus Thailand 95 Der UPDATE Befehl

15 Der INSERT Befehl Der INSERT Befehl fügt in eine bestehende Tabelle Datensätze ein. INSERT INTO artikel (ANr, ALieferumfang, AName, APreis) VALUES (1234, "1 Kalender", "Ostern", 22) 31940 Schreib mal wieder 10 Karten 31940.jpg 13.00 77 32503 Weihnachtsgeschenkanhänger 10 Kärtchen 32503.jpg 6.00 79 1234 Ostern 1 Kalender NULL 22.00 Der INSERT Befehl


Herunterladen ppt "(Structured Query Language)"

Ähnliche Präsentationen


Google-Anzeigen