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

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

MySQL, phpmyadmin & SQL. Kurzübersicht

Interaktive Webseiten mit PHP und MySQL

PHP und MySQL. Integration von MySQL in PHP. Zellescher Weg 12 Willers-Bau A109 Tel Michael Kluge (michael.kluge@tu-dresden.

Eine Einführung in MySQL

Oracle 10g Einführung

Internet Praktikum im Grunstudium Formularwerte und Datenbanken Speichern, Lesen und Aufbereiten. Dr. Guido Rößling Dipl.-Ing.

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

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick Parameterübergabe...

Datenbank und Tabelle mit SQL erstellen

SQL und MySQL. Kristian Köhntopp

Übung PL/SQL Trigger Lösungen

PHP- Umgang mit Datenbanken (1)

Übersicht der wichtigsten MySQL-Befehle

Begleitskript. zum PHP/MySQL. Kurs

Folien php/mysql Kurs der Informatikdienste

Durchführung von Webprojekten. PHP und MySQL

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

Multimedia im Netz. Übung zur Vorlesung. Ludwig-Maximilians-Universität Wintersemester 2010/2011

Android Programmierung. Studiengang MI

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

Datenbanken SQL. Insert, Update, Delete, Drop. Krebs

SQL-Befehlsliste. Vereinbarung über die Schreibweise

Die Anweisung create table

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

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

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

5/14/18. Grundlagen von SQL. Grundlagen von SQL. Google, Facebook und Co. setzen auf SQL. Whatsapp

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 6: Datenbankabfragen mit SQL und PHP. Stand: Übung WS 2014/2015

Präsentation mongodb. David Wild

Multimedia im Netz Wintersemester 2013/14. Übung 02 (Hauptfach)

Labor 3 - Datenbank mit MySQL

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Garten - Daten Bank. - survival pack -

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Multimedia im Netz Wintersemester 2013/14. Übung 03 (Nebenfach)

Praktische SQL-Befehle 2

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

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

5.8 Bibliotheken für PostgreSQL

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

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

Willkommen. Datenbanken und Anbindung

SQL-Befehlsliste. Vereinbarung über die Schreibweise

Datenbanksysteme 2013

PHP und Datenbanken. Verbindung zum Datenbankserver

PHP Schulung Beginner. Newthinking Store GmbH Manuel Blechschmidt

Folien php/mysql Kurs der Informatikdienste

Datenbanken Einführung Seite 1 von 7

Datenbanksysteme 2011

Datenbanksysteme SS 2007

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

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

Echtzeitkartographie Echtzeitendaten aufbereiten. Stefan Maihack Dipl. Ing. (FH)

MySQL mit MyLinux. 2/2003 Java unter Linux

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

PHP MySQL - myphpadmin Formulardaten in eine Datenbank speichern

Abfragen aus mehreren Tabellen (mit join)

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL

ACCESS SQL ACCESS SQL

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

SQL Tipps und Tricks Part III

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

Übungen. DI (FH) Levent Öztürk

dbis Praktikum DBS I SQL Teil 2

Praktische SQL-Befehle

Datenbanken. 5 Tabellen. Karl Meier karl.meier@kasec.ch Inhalt. Domänen verwenden Tabellen anzeigen, ändern, löschen Übung

Webbasierte Informationssysteme

Kapitel 8: Datenintegrität

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1

Bauinformatik 1. Teil 1 / Übungen. Ernst Baeck. Fachgebiet Statik und Dynamik der Flächentragwerke. 31. Mai 2017

Tag 2 Inhaltsverzeichnis

Dateneingabe über ein HTML-Formular in eine Datenbank:

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)

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

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - WS Metadaten. Andreas Schmidt Metadaten 1/17

Lösungen der Übungsaufgaben von Kapitel 10

Universität Augsburg, Institut für Informatik WS 2011/2012 Prof. Dr. W. Kießling 09. Dez Dr. M. Endres, Dr. S. Mandl, F. Wenzel Lösungsblatt 6

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

Üben von DDL und DML. Ergebnis:

Xampp Administration und Grundlagen. Stefan Maihack Dipl. Ing. (FH) Datum:

Datenbank - Teil 3. Ziele: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP.

Grundlagen der Informatik 2

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

Entwicklung einer Webseite zur Verwaltung von Prüfungsterminen

Cassandra Query Language (CQL)

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

MIT3 Datenbanken. Claudius Coenen

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

C++ Anwendungskurs Tag 4: Datenbanken Daniela Horn Institut für Neuroinformatik Real-time Computer Vision

IV. Datenbankmanagement

PHP- Counter IP. Entwurf und Umsetzung eines PHP basierten Zählers mit MySQL Anbindung EASY-LINE

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und combit GmbH Untere Laube Konstanz

DB-Datenbanksysteme. DB SQL-DML 1 Mario Neugebauer

QMF Tabelle Q.OBJECT_DATA in DB2

Einführung in PHP und MySQL

Transkript:

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

Struktur einer Datenbank 7-3 Erzeugen von Datenbanken Auf sksp.cs.upb.de durch den Administrator, z. B mit Web-Oberfläche: 7-4

oder durch SQL-Skripte: Erzeugen von Datenbanken Anlegen einer Tabelle: CREATE TABLE dozent ( Id INT NOT NULL AUTO_INCREMENT, Vorname VARCHAR(36) NOT NULL, Nachname VARCHAR(36) NOT NULL, Titel VARCHAR(12), PRIMARY KEY (Id) ); Andere Spaltentypen: Ganze Zahlen TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT Gleitpunktzahlen FLOAT, DOUBLE Dezimalzahlen DECIMAL(M,D) Strings CHAR(M), VARCHAR(M), TEXT Datum, Zeit DATE, TIME, DATETIME, TIMESTAMP, YEAR,... Aufzählungen ENUM('value1','value2',...) Mengen SET('value1','value2',...) 7-5 Einfügen, Ändern und Löschen von Datensätzen Einfügen durch explizites Angeben der Spalten: INSERT INTO dozent (Vorname, Nachname) VALUES('Erika', 'Mustermann'); Einfügen von vollständigen Datensätzen: INSERT INTO dozent VALUES(NULL, 'Erika', 'Mustermann', 'Prof. Dr.'); Ändern von Datensätzen: UPDATE dozent SET Titel='Prof. Dr.' WHERE Id=5; UPDATE dozent SET Nachname='Meier' WHERE Nachname='Meyer'; Löschen von Datensätzen: DELETE FROM dozent WHERE Vorname='Erika'; Ohne WHERE-Klausel werden alle Datensätze gelöscht! 7-6

Zugriff auf Datensätze Allgemeine Form: SELECT Spalten FROM Tabellen WHERE Bedingungen Alles auswählen: SELECT * FROM dozent; Bestimmte Spalten auswählen: SELECT Titel, Nachname FROM dozent; Bestimmte Zeilen auswählen: SELECT * FROM dozent WHERE LEFT(Nachname, 1) = 'M'; liefert: 7-7 Sortierung SELECT Vorname, Nachname, GebTag FROM friends ORDER BY GebTag; Nach mehreren Werten SELECT * FROM dozent ORDER BY Nachname, Vorname; Nach berechneten Werten: SELECT name, birth, death, (YEAR(death) - YEAR(birth)) - (DAYOFYEAR(death) < DAYOFYEAR(birth)) AS age FROM pet WHERE death IS NOT NULL ORDER BY age; liefert: 7-8

7.1. PHP und MySQL Aufbau der Verbindung zum Datenbank-Server <?php $link = mysql_pconnect("host[:port]", "user", "passw");?> Beispiel function connect_to_dbserver() { $link = mysql_pconnect("localhost", "otto", "geheim"); if (! $link) { echo "Keine Verbindung zum MySQL-Server!"; exit; mysql_pconnect() (mit p vor dem connect) erzeugt persistente Verbindungen, die der Web-Server mehrfach verwenden kann und automatisch schliesst. Sie können nicht per mysql_close() im Skript geschlossen werden. 7-9 PHP und MySQL Auswahl einer Datenbank <?php $res = mysql_select_db($dbname, $link); if (! $res) { echo "Kein Zugriff auf $dbname"; exit; alternativ mit boolescher Kurzauswertung: mysql_select_db($dbname, $link) or die("kein Zugriff auf $dbname"); Die Angabe der Datenbankverbindung $link ist optional. Standardmäßig wird die zuletzt geöffnete Verbindung verwendet. 7-10

PHP und MySQL Queries $query = "irgendeine SQL-Anfrage"; $result = mysql_query($query, $link); Beispiel function teachername($index) { $query = "SELECT * FROM dozent WHERE Id='$index'"; $result = mysql_query($query); if(! $result) { echo "Error in SQL statement!"; exit; mysql_free_result($result); SELECT-Abfragen liefern Tabellen zurück, mit mysql_free_result() werden diese Tabellen am Ende freigegeben. 7-11 PHP und MySQL Zugriff auf Anfrage-Ergebnisse Anzahl der Ergebniszeilen $num = mysql_num_rows($result); Anzahl der Ergebnisspalten $num = mysql_num_fields($result); Name einer Ergebnisspalte $name = mysql_field_name($result, $index); Eine Zeile als indiziertes Array (Iterator) $row = mysql_fetch_row($result); Eine Zeile als assoziatives Array (Iterator) $row = mysql_fetch_array($result); 7-12

PHP und MySQL: Vollständiges Beispiel <?php $db=mysql_pconnect("localhost", "peter", "geheim"); if (!$db) { echo ("Verbindung zur Zeit nicht moeglich"); exit(); if (!mysql_select_db("petertest")) { echo ("Verbindung zu petertest nicht moeglich"); exit(); $result = mysql_query("select * from tier"); while ($row = mysql_fetch_array($result)){ echo $row["id"]. "\t". $row["name"]. "\t". $row["preis"]. "<br>\n";?> 7-13