Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

Ähnliche Dokumente
Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7

Übersicht der wichtigsten MySQL-Befehle

Abfragen (Queries, Subqueries)

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski.

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

SQL-Befehlsliste. Vereinbarung über die Schreibweise

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

ACCESS SQL ACCESS SQL

SQL-Befehlsliste. Vereinbarung über die Schreibweise

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle.

SQL. Ziele. Grundlagen von SQL. Beziehung zur relationalen Algebra SELECT, FROM, WHERE. Joins ORDER BY. Aggregatfunktionen. dbis.

Oracle 10g Einführung

Management of Information Systems. Tutorat: Session 3 Einführung in SQL

SQL structured query language

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

DB1. DB SQL-DQL 1 Mario Neugebauer

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

SQL-Sprachvielfalt. Peter Willadt (Ludwig-Erhard-Schule) SQL-Befehle / 47

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle

Folien php/mysql Kurs der Informatikdienste

Web-Technologien. Prof. Dr. rer. nat. Nane Kratzke SQL. Praktische Informatik und betriebliche Informationssysteme

Grundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich

Wiederholung VU Datenmodellierung

Datenbanken. Zusammenfassung. Datenbanksysteme

4. Datenbanksprache SQL

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language)

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

Bibliografische Informationen digitalisiert durch

Es geht also im die SQL Data Manipulation Language.

Daniel Warner SQL. Das Praxisbuch. Mit 119 Abbildungen. Franzis

Informatik Datenbanken SQL-Einführung

U 8 SQL. = Structured Query Language (heute auch Standard Query Language) ALLGEMEIN:

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)

SQL Data Manipulation Language (DML) und Query Language (QL)

INFORMATIONSUNTERLAGEN. Grundzüge der SQL-Programmierung. Vag 09/2005

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen.

SQL und MySQL. Kristian Köhntopp

Datenbank und Tabelle mit SQL erstellen

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Einführung in SQL Datenbanken bearbeiten

SQL als Zugriffssprache

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15

SQL-Anweisungen. SELECT (SQL Data Query Language)

Gregor Kuhlmann Friedrich Müllmerstadt. MySQL. Der Schlüssel zu Datenbanken-Design und -Programmierung. c 3 E. i- O Rowohlt Taschenbuch Verlag

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

1 Hartmann Anna Cäcilienstr Köln (0221) Behrens-Hoffmeister Heidi Lindenweg Köln (0221)

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung

SQL. Allgemeines CREATE TABLE DROP TABLE ALTER TABLE INSERT INTO UPADTE DELETE SELECT

Introduction to Data and Knowledge Engineering. 6. Übung SQL

Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien

PHP + MySQL. Die MySQL-Datenbank. Hochschule Karlsruhe Technik & Wirtschaft Internet-Technologien T3B250 SS2014 Prof. Dipl.-Ing.

Microsoft Access 2010 SQL nutzen

Lösungen der Übungsaufgaben von Kapitel 10

Inhaltsverzeichnis. jetzt lerne ich

CREATE TABLE-Syntax

Die SQL-Syntax für den Befehl CREATE TABLE sieht folgendermassen aus:

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

MySQL. MySQL ist ein Datenbanksystem. Es besteht aus einem zentralen Server und aus (mehreren) Clients. Es benutzt einen Dialekt der Sprache SQL.

DBSP. Vorlesung. Prof. Dr. rer. nat. Nane Kratzke. Unit. Praktische Informatik und betriebliche Informationssysteme

5.8 Bibliotheken für PostgreSQL

Programmierung und Datenbanken II

SELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage.

Relationales Datenbanksystem Oracle

MySQL: Einfaches Rechnen.

Einführung in die Spezialisierungsrichtungen

Datenbanksysteme Kapitel 7: SQL Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück

Tag 2 Inhaltsverzeichnis

Inhaltsverzeichnis. Einleitung

Datenbanksysteme Kapitel: SQL Data Definition Language

SQL. Was ist SQL? SQL- Standards Grundregeln Die DDL Datenbanken erstellen Tabellen erstellen und ändern Spalten definieren Schlüssel definieren - 2 -

Garten - Daten Bank. - survival pack -

Marcus Throll, Oliver Bartosch. Einstieg in SQL. Verstehen, einsetzen, nachschlagen. Galileo Press

IV. Datenbankmanagement

zwei verschiedene Darstellungsformen derselben Abfrage.

Datenbanken Entity-Relationship-Modell und Datenbankentwurf 1. Andreas Heß Hochschule Furtwangen

dbis Praktikum DBS I SQL Teil 2

Datenbanksysteme Teil 6 MySQL DML Die SELECT-Anweisung. Stefan Maihack Dipl. Ing. (FH) Datum:

Übung PL/SQL Trigger Lösungen

MySQL, phpmyadmin & SQL. Kurzübersicht

Dieter Staas Das Einsteigerseminar SQL

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Datenbanksysteme 2013

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Kapitel 6. Datenmalipulation (DML) d. h. insert, update, delete, select im Relationenmodell (in Oracle)

Labor 3 - Datenbank mit MySQL

Arbeiten mit ACCESS 2013

Datenbanksysteme Kapitel 5: SQL Data Manipulation Language

PHP & MySQL. MySQL Einführung. Zellescher Weg 12 Willers-Bau A109 Tel Michael Kluge (Michael.Kluge@tu-dresden.

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

Die Anweisung create table

Datumsangaben, enthält mindestens Jahr, Monat, Tag

MCSA: SQL 2016 Database Development

Datenmanagement I SoSe 2006 Aufgabenblatt 4

Transkript:

Anwendungsentwicklung Datenbanken SQL Stefan Goebel

SQL Structured Query Language strukturierte Abfragesprache von ANSI und ISO standardisiert deklarativ bedeutet was statt wie SQL beschreibt, welche Daten abzurufen, zu löschen oder einzufügen sind und nicht, wie das zu geschehen hat. (Am Beispiel MySQL) Folie 2

SQL Vier Bereiche: Data Definition Language (DDL) zur Definition des Datenbankschemas Erstellen, ändern und löschen von Datenbanken, Tabellen Data Manipulation Language (DML) zur Datenmanipulation (lesen, schreiben, ändern, etc.) Data Query Language (DQL) zur Datenabfrage Data Control Language (DCL) zur Kontrolle der Datenbank-Ressourcen, Berechtigungen Folie 3

Zugriff auf MySQL-DB Konsole MySQL Workbench Phpmyadmin ODBC MySQL Connector/JDBC MySQL Connector/NET etc. Folie 4

MySQL Konsole Folie 5

MySQL Workbench Folie 6

phpmyadmin Folie 7

Datenbankstruktur Folie 8

Tabellenstruktur Folie 9

SQL eingeben Folie 10

SQL Vier Bereiche: Data Definition Language (DDL) zur Definition des Datenbankschemas Erstellen, ändern und löschen von Datenbanken, Tabellen Data Manipulation Language (DML) zur Datenmanipulation (lesen, schreiben, ändern, etc.) Data Query Language (DQL) zur Datenabfrage Data Control Language (DCL) zur Kontrolle der Datenbank-Ressourcen, Berechtigungen Folie 11

Erstellen von Datenbanken Datenbank verbinden CONNECT Datenbankname; CREATE DATABASE Datenbankname; Folie 12

Datentypen Kleine Auswahl Zahlen INT DECIMAL [(m,d)] Zeichenketten VARCHAR(n) Datum DATE TIME DATETIME Folie 13

Erstellen von Tabellen CREATE TABLE Tabellenname ( t_id INT PRIMARY KEY AUTO_INCREMENT, Spalte1 Typ NOT NULL, Spalte2 Typ UNIQUE, anrede CHAR CHECK (anrede IN( m, w )), datum TIMESTAMP DEFAULT NOW(), a_id INT, ) FOREIGN KEY(a_ID) REFERENCES Tab(a_ID) Folie 14

Tabellen ändern ALTER TABLE TabName Feld hinzufügen, Typ angeben ADD COLUMN (Spalte Typ,...); Feldtyp ändern MODIFY (Spalte NeuerTyp,...); Feld löschen, Daten gehen verloren DROP COLUMN Spalte; Folie 15

SQL Vier Bereiche: Data Definition Language (DDL) zur Definition des Datenbankschemas Erstellen, ändern und löschen von Datenbanken, Tabellen Data Manipulation Language (DML) zur Datenmanipulation (lesen, schreiben, ändern, etc.) Data Query Language (DQL) zur Datenabfrage Data Control Language (DCL) zur Kontrolle der Datenbank-Ressourcen, Berechtigungen Folie 16

Einfügen von Daten INSERT INTO Tabellenname (Spalte1, Spalte2,...)... VALUES ( Wert, Wert, ); SELECT spalte1, spalte2, FROM...; Folie 17

Ändern von Daten UPDATE TabName SET Spalte = Wert WHERE Bedingung Analog zu SELECT ERST TESTEN!! Folie 18

Löschen von Daten DELETE FROM TabName WHERE Bedingung Analog zu SELECT ERST TESTEN!! Folie 19

SQL Vier Bereiche: Data Definition Language (DDL) zur Definition des Datenbankschemas Erstellen, ändern und löschen von Datenbanken, Tabellen Data Manipulation Language (DML) zur Datenmanipulation (lesen, schreiben, ändern, etc.) Data Query Language (DQL) zur Datenabfrage Data Control Language (DCL) zur Kontrolle der Datenbank-Ressourcen, Berechtigungen Folie 20

Abfragen Alle Spalten ausgeben: SELECT * FROM Tabellenname Bestimmte Spalten ausgeben: SELECT Spalte1, Spalte2,... FROM Tabellenname Nur eindeutige Zeilen ausgeben: SELECT DISTINCT Spalte1, Spalte2, FROM TabName Folie 21

Abfrage: einschränken Nur Zeilen ausgeben, die eine Bedingung erfüllen SELECT... FROM......WHERE Feld1 = Müller ;...WHERE Feld2 = 123;...WHERE Feld1 LIKE Mü%...WHERE Feld1 LIKE Me_er Folie 22

Abfragen: logische Boolsche Algebra wird unterstützt Operatoren WHERE Spalte1 = Müller AND (Spalte2 = 123 OR Spalte2 = 500); Hierbei gelten auch die Klammerregeln Oder auch: WHERE Spalte1 = Müller AND Spalte2 IN (123,500); Folie 23

Abfragen: Datum Format bei der Abfrage eines Datums WHERE Datum = jjjj-mm-tt Datumsbereich WHERE Datum BETWEEN jjjj-mm-tt AND jjjj-mm-tt Aber auch für andere Bereiche. Folie 24

Abfragen: sortieren Suchergebnis sortiert ausgeben SELECT... FROM... WHERE... ORDER BY Spalte1, Spalte2, ASC DESC; Folie 25

Datumsfunktionen CURDATE() aktuelles Datum DATEDIFF( von, bis ) Anzahl Tage zwischen zwei Daten DAYOFYEAR() Tag im Jahr DAYOFWEEK(datum) Wochentag (1=Sonntag) DATE_FORMAT( datum, Formatstring ) %W, %d.%m.%y (%u.kw) Saturday, 17.03.2012 (11.KW) Folie 26

Aggregatfunktionen Anzahl SELECT COUNT(*) FROM Tab; Größter/kleinster Wert MAX(Spalte) / MIN(Spalte) Durchschnitt AVG(Spalte) Summe SUM(Spalte) Folie 27

Abfragen: gruppieren SELECT Spalte1, COUNT(Spalte2) FROM... WHERE... GROUP BY Spalte1 gruppiert nach Spalte1 HAVING COUNT(Spalte2) >= 3 einschränken der Ausgabe mit Ergebnis der Funktion z.b.: SELECT KdNr, COUNT(BestellNr) FROM bestellungen GROUP BY KdNr Folie 28

Abfragen mit Bedingungen SELECT Spalte1, IF( Bedingung, Wenn_TRUE, Wenn_FALSE) FROM... WHERE... Bedingungen: Spalte1>Spalte2 Spalte1=42 Spalte3='Text' Folie 29

Mehrere Tabellen abfragen Join Inner Join Outer Join Left Join Right Join Full Outer Self Join Quelle: http://www.codeproject.com/kb/database/visual_sql_joins/visual_sql_joins_orig.jpg Folie 30

Inner Join Join Bedingung angeben SELECT.. FROM TabA INNER JOIN TabB entweder: ON TabA.Key = TabB.Key oder: USING(Key) Ergebnis: nur die Datensätze, die in beiden Tabellen enthalten sind. Ebenfalls möglich in WHERE-Klausel: SELECT... FROM TabA, TabB WHERE TabA.Key = TabB.Key Folie 31

Inner Join-Beispiel SELECT * FROM artikel a INNER JOIN kategorien k USING(KategorieNr) ON a.kategorienr = k.kategorienr Folie 32

Outer Left Join SELECT... FROM TabA LEFT JOIN TabB USING(Key) Ergebnis: alle Datensätze aus der Tabelle, die links vom Join steht und die dazugehörigen aus der rechten Tabelle Right Join analog Folie 33

Left Excluding JOIN SELECT... FROM TabA LEFT JOIN TabB USING(Key) WHERE TabB.Key IS NULL Ergebnis: alle Datensätze aus der Tabelle, die links vom Join steht, für die es keine entsprechenden Datensätze in der rechten Tabelle gibt. Right Join analog Folie 34

FULL OUTER JOIN SELECT FROM TabA LEFT JOIN TabB USING(key) UNION SELECT FROM TabA RIGHT JOIN TabB USING(key) Ergebnis: alle Datensätze aus beiden Tabellen. Folie 35

Self Join SELECT... FROM Tab AS AL1 LEFT JOIN Tab AS AL2 ON AL1.Key1 = AL2.Key2 Ergebnis: Verbindung einer Tabelle mit sich selbst. PersonalNr Name VorgesetzterNr 45 Klaus 42 83 Dieter 42 42 Chef 0 Folie 36

Unterabfragen SubSELECT SELECT... FROM... WHERE Spalte1 IN (Wert1, Wert2, ) (SELECT... FROM... ) Folie 37