Grundkonzepte von SQL



Ähnliche Dokumente
Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Informatik 12 Datenbanken SQL-Einführung

Labor 3 - Datenbank mit MySQL

SQL-Injection. Seite 1 / 16

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

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Datumsangaben, enthält mindestens Jahr, Monat, Tag

SQL und MySQL. Kristian Köhntopp

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

IV. Datenbankmanagement

Professionelle Seminare im Bereich MS-Office

Ein Ausflug zu ACCESS

SEMINAR Modifikation für die Nutzung des Community Builders

Übung 1: Ein Website News-System mit MySQL

JooLIMS. Manueller Import

Anleitung OpenCms 8 Webformular Auswertung

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Hilfe zur Dokumentenverwaltung

Hinweise zur Installation von MySQL

Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Kurzanleitung zur Erweiterung der htdig

SQL Teil 2. SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Komplexer SELECT-Ausdruck

Individuelle Formulare

Deinstallationsanleitung

MySQL: Einfaches Rechnen.

Beispiel 1: Filmdatenbank

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

5. Übung: PHP-Grundlagen

Sructred Query Language

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

4. BEZIEHUNGEN ZWISCHEN TABELLEN

Grundlagen der Informatik 2

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

FIS: Projektdaten auf den Internetseiten ausgeben

Eine völlig andere Form Abfragen zu erstellen ist, sie mit Hilfe der Datenbankabfragesprache SQL zu gestalten.

Professionelle Seminare im Bereich MS-Office

Updatehinweise für die Version forma 5.5.5

Fachhochschule Deggendorf Platzziffer:...

Österreichische Trachtenjugend

Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. ist einer davon.

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

Options- und Freitext-Modul Update-Anleitung

Berechtigungsgruppen TimeSafe Leistungserfassung

Einfügen von Bildern innerhalb eines Beitrages

Oracle: Abstrakte Datentypen:

Web2Lead. Konfiguration

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken

Das SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik

Umfrage. Didaktischer Kommentar. Lernplattform

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

OP-LOG

Anleitung Jahreswechsel

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

Datenbanken für Online Untersuchungen

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Anleitung Typo3-Extension - Raumbuchungssystem

Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht:

Relationale Datenbanken in der Praxis

Adminer: Installationsanleitung

MySQL Installation. AnPr

desk.modul : WaWi- Export

Persönliches Adressbuch

Access Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli inkl. zusätzlichem Übungsanhang ACC2010-UA

Carl-Engler-Schule Karlsruhe Datenbank 1 (5)

-Inhalte an cobra übergeben

Vorlesung Dokumentation und Datenbanken Klausur

Die Dateiablage Der Weg zur Dateiablage

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Whitepaper. Produkt: combit Relationship Manager / address manager. Integration der Ansicht "Adressen" in eigene Solution

Datenbanken Kapitel 2

Was meinen die Leute eigentlich mit: Grexit?

Beispiel Shop-Eintrag Ladenlokal & Online-Shop im Verzeichnis 1

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

Berechnungen in Access Teil I

KURZANLEITUNG CLOUD OBJECT STORAGE

SJ OFFICE - Update 3.0

YouTube: Video-Untertitel übersetzen

Microsoft Access 2013 Navigationsformular (Musterlösung)

MySQL, phpmyadmin & SQL. Kurzübersicht

Sage Start Einrichten des Kontenplans Anleitung. Ab Version

PHPNuke Quick & Dirty

1 Konto für HBCI/FinTS mit Chipkarte einrichten

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

Einkaufslisten verwalten. Tipps & Tricks

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Summenbildung in Bauteiltabellen mit If Then Abfrage

TYPO3 Super Admin Handbuch

Anleitung für das Content Management System

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Dateien löschen und wiederherstellen

Lizenzen auschecken. Was ist zu tun?

Einführung in. Logische Schaltungen

Anleitung: Ändern von Seiteninhalten und anlegen eines News Beitrags auf der Homepage des DAV Zorneding

Diese Anleitung enthält Anweisungen, die nur durch erfahrene Anwender durchgeführt werden sollten!

Transkript:

Internet Praktikum im Grundstudium: Grundlagen von SQL Nutzung von phpmyadmin Dr. Guido Rößling Dipl.-Ing. Andreas Hartl Grundkonzepte von SQL Relationale Datenbanken basieren auf Tabellen Objektorientierte Datenbanken basieren auf Objekten Wir werden nur mit einer relationalen DB arbeiten und zwar mit MySQL (www.mysql.com) In diesem Vortrag werden die Grundkonzepte von SQL erläutert Wichtiges Wissen über Datenbanken ist Stoff der Datenbanken -Vorlesungen bei Prof. A. Buchmann! Damit können wir uns natürlich nicht vergleichen aber für die tägliche Praxis langt auch dieser Kurs 27.05.2004 SQL und phpmyadmin 2 1

Grundkonzepte von SQL SQL-Datenbanken werden in der Regel kommandobasiert gesteuert also nicht grafisch oder per Drag und Drop wie Access! Der Nutzer muss die wesentlichen SQL-Befehle kennen Essentiell ist folgendes Grundkonzept: Eine Datenbank enthält (viele) Tabellen Tabellen sind untereinander verknüpfbar (direkt / indirekt) Einfügen, Löschen, Ändern, Suchen erfolgt durch SQL-Abfragen Wie sehen diese Befehle aus? 27.05.2004 SQL und phpmyadmin 3 Anlegen einer Database Anfangs enthält die Datenbank praktisch keine Daten Zunächst muss eine Database angelegt werden Dort liegen dann die Tabellen Grob ähnlich zu Java Packages Dazu dient folgender Befehl (Schlüsselwörter fett): CREATE DATABASE [IF NOT EXISTS] name { specification } ; Definition von specification: siehe Merkblatt Nutzung der Datenbasis: USE name; 27.05.2004 SQL und phpmyadmin 4 2

Anlegen einer Tabelle Zum Anlegen einer Tabelle gibt es CREATE TABLE Ab hier gilt folgende Notation: [x] x ist optional {y} nichts, y, oder eine Folge von y durch Komma getrennt Syntax (EBNF): CREATE [TEMPORARY] TABLE [IF NOT EXISTS] name { create_definition } create_definition hat folgendes Format: name type [NOT NULL NULL] [DEFAULT default_value] [AUTO_INCREMENT] NOT NULL: Das Feld muss immer einen definierten Wert haben DEFAULT: Vorgabe eines Standardwertes, falls nichts angegeben Besonders hilfreich: NOT NULL + DEFAULT AUTO_INCREMENT: Hochzählen (bei int), wenn 0 angegeben 27.05.2004 SQL und phpmyadmin 5 INT DOUBLE DATE TIME TIMESTAMP DATETIME VARCHAR(l) TEXT SET(e1,e2,..) ENUM(e1, e2, ) Typen zum Anlegen eines Feldes Integer-Wert, 4 Bytes Realwert, 4 Byte Datumsangabe, Standard Zeitangabe Systeminterne Zeitangabe Datum, dann Uhrzeit Zeichenkette (Länge l <= 255!) (Fast) beliebig langer Text Mengenaufzählung Aufzählung, nur ein Element wählbar Wie int in Java Wie float in Java 'yyyy-mm-dd' 'hh-mm-ss' 00000000000000 'yyyy-mm-dd hh:mm:ss' 'ccc' "xxxx" Wie Checkboxen Wie Radio Buttons 27.05.2004 SQL und phpmyadmin 6 3

Löschen vorhandener Tabellen Tabellen werden gelöscht / entfernt mit DROP TABLE [IF EXISTS] name {, name }; Vorsicht: die Tabelle ist dann unwiderruflich weg! Der Nutzer muss die passende Berechtigung haben Zuteilung der Rechte erfolgt durch den GRANT Befehl Syntax und Nutzung siehe MySQL-Dokumentation 27.05.2004 SQL und phpmyadmin 7 Einfügen in eine Tabelle Zum Einfügen dient der INSERT Befehl: INSERT [INTO] tablename [ ( { colname })] VALUES ( {expr DEFAULT} ) Hier müssen die Daten in der richtigen Reihenfolge angegeben werden INSERT [INTO] tablename SET { colname= expr DEFAULT }; Die Reihenfolge ist nun egal, da die Spaltennamen angegeben werden colname spezifiziert, welche Spalten betroffen sein sollen Default bei Weglassen: alle Spalten 27.05.2004 SQL und phpmyadmin 8 4

Ändern von Tabellenfeldern UPDATE tablename SET { colname= expr } [WHERE whereclause]; Ändert den Eintrag in Spalte colname in die Expression ab Mittels WHERE kann spezifiziert werden, welche Einträge betroffen sein sollen etwa nur Personen mit Alter > 65, 27.05.2004 SQL und phpmyadmin 9 Syntax der WHERE-Anfragen Genutzt wie gesehen u. a. in INSERT, UPDATE (Sehr) umfangreiche Syntax, hier nur Auszüge: Numerische Vergleiche mit x {<, >=, =, >=, >,!=} y Geht auch mit Datum / Uhrzeitangaben Es kann dabei auch gerechnet werden! (+,-,*,/,%,,&,<<,>>) Logische Verknüpfungen: AND bzw. &&, OR /, NOT /! Bereichsprüfungen: valuebetween wert1 AND wert2 value[not] IN (wert1, wert2, ) String-Vergleiche: x[not] LIKE y: Substringsuche, etwa name LIKE %ülle% % dient hier als Wildcard LOCATE(x, y) Position (ab 1) von String x in y, sonst 0 27.05.2004 SQL und phpmyadmin 10 5

Datenbankabfragen Anfragen an die Datenbank erfolgen per SELECT: SELECT [DISTINCT] feld {, feld} FROM tabelle {id, tabelle id} [WHERE whereclause] Bei DISTINCT wird im Fall doppelter Datensätze nur einer ausgegeben Es kann eine beliebige Auswahl von Feldern ausgelesen werden, etwa nur vorname, alter Alternativ Angabe von * alle Felder Das Ergebnis ist eine (interne Ergebnis-)Tabelle die nur genau die abgefragten Felder enthält(!) 27.05.2004 SQL und phpmyadmin 11 SELECT (2) Es können auch Felder aus mehr als einer Tabelle abgefragt werden Meist erfolgt im where eine Abstimmung zwischen den Feldern: SELECT p.id, p.name, fibu.gehalt FROM Personen p, Finanzbuchhaltung fibu WHERE p.id = fibu.id AND p.alter > 40; Hier gibt es zwei Tabellen: Personen (id, name, alter, ) Finanzbuchhaltung (id, gehalt, ) Was besagt das Ergebnis? WHERE kann auch auf nicht selektierten Feldern arbeiten! Feldnamen bei SELECT sagen nur, was als Ergebnis sichtbar wird 27.05.2004 SQL und phpmyadmin 12 6

Dynamisches SQL SQL-Befehle können auch (etwa per PHP!) generiert werden Hier ist besonders auf korrekte Syntax zu achten Besonders ratsam ist hier die Ausgabe des Befehls als XHTML-Kommentar (<!-- -->) Auf die Art kann bei einem Fehler der Befehl aus dem XHTML-Source kopiert und per phpmyadmin getestet werden 27.05.2004 SQL und phpmyadmin 13 Was wir verschwiegen haben ist ein Großteil von SQL und Datenbankkonzepten! Vorlesungen Datenbanken I/II bei Prof. A. Buchmann Einige Details zur Steuerung der Ausgabe Für Experten : ORDER BY, LIMIT, GROUP BY Kommt beim nächsten Mal im Kontext PHP dran Viele Datentypen Ändern der Tabellenstruktur per ALTER TABLE Das machen wir bequem per phpmyadmin Rechtevergabe per GRANT (brauchen wir hier auch nicht!) SEHR viele Optionen für WHERE, INSERT, SELECT, Siehe Datenbankvorlesungen und http://dev.mysql.com/doc/ 27.05.2004 SQL und phpmyadmin 14 7

phpmyadmin Der Name ist Programm: PHP-basierte Implementierung, genutzt per WWW um MySQL-Datenbanken zu administrieren Datenbasen und Tabellen werden angezeigt im linken Navigationsframe Einzelne Tabellen sind einfach modifizierbar Strukturänderung Browsen Einfügen, Löschen, Aktualisieren von Einträgen SQL-Anfragen 27.05.2004 SQL und phpmyadmin 15 phpmyadmin (2) Besonders hilfreich für uns: Einfacher Check, ob bisherige Befehle funktionierten Testen von SQL-Befehlen: Vorab zum Experimentieren, bis es geht Nachträglich, um Fehler zu finden und zu beheben besonders bei dynamisch zusammengestellten Befehlen! Zusätzlich Export als CSV-Daten möglich 27.05.2004 SQL und phpmyadmin 16 8

Links sind die Tabellen zu sehen Das Tool ist weitgehend selbsterklärend Besonders hilfreich: zu grafischen Operationen und QBE wird SQL angezeigt phpmyadmin (3) 27.05.2004 SQL und phpmyadmin 17 9