Datenbankanbindung mit mysql und PHP

Größe: px
Ab Seite anzeigen:

Download "Datenbankanbindung mit mysql und PHP"

Transkript

1 Sabine Grötz 1 Datenbankanbindung 1.1 Dynamische Inhalte im Web In der Anfangszeit des Web wurden nur statische Inhalte zur Verfügung gestellt. Sollte der Inhalt geändert werden, musste man manuell die Änderungen vornehmen, was vor allem mühsam und unübersichtlich ist. Seit es Werkzeuge wie Perl oder PHP gibt, können Inhalte auf Web-Seiten auch dynamisch generiert werden. Sie bieten die Möglichkeit, mehr oder weniger komplexe Programmstrukturen zu implementieren. Durch entsprechende Anweisungen ist auch die Kopplung an eine Datenbank möglich. Somit lassen sich völlig neue Anwendungen verwirklichen, wie z.b. die dynamische Bereitstellung von gespeicherten Informationen und deren interaktive Änderung über das Web. Eine einfache Datenbank auf dem Server zu haben reicht aber nicht. Um den Zugriff von der HTML-Seite her zu ermöglichen, bedarf es mindestens 2 Applikationen: der Web-Server, welcher die HTML-Seiten bereitstellt, und der Datenbank-Server, welcher den Zugriff auf die Daten ermöglicht. Zusätzlich wird dabei oft eine dazwischenliegende Applikation verwendet, das Web/Datenbank-Gateway, welches die Anfrage der HTML-Seite entgegennimmt und sie so aufbereitet, dass sie vom Datenbank-Server verstanden wird. 1.2 Zusammenspiel von Browser, Webserver und Datenbankserver Zwischen einer statischen und einer dynamisch generierten Website merkt der Anwender normalerweise keinen Unterschied, außer vielleicht an der angezeigten URL. Klickt er auf einen Link, so fordert der Browser die mit dem Link spezifizierte URL vom Webserver an. Der Webserver erkennt z.b. an der Dateiendung, dass es sich hierbei um eine noch zu generierende Seite handelt. Die zu generierende Seite wird, zusammen mit verfügbaren Informationen, an den Interpreter übergeben. Der Interpreter ist entweder als externes Programm implementiert, oder in den eigentlichen Server fest integriert. Er filtert dann die für ihn bestimmten Anweisungs-Blöcke heraus und führt sie aus. Beim Ausführen können wiederum andere Programme aufgerufen werden, unter anderem ist dies auch die Stelle für etwaige Datenbankabfragen. Zugriffe auf eine Datenbank können mit entsprechenden Modulen oder über eine ODBC-Schnittstelle erfolgen. Hat der Interpreter die endgültige, in HTML vorliegende Fassung erzeugt, gibt er diese an den Webserver zurück, der sie an den Browser schickt. Zwischen Datenbank- und Web-Server vermittelt ein so genanntes Web/Datenbank-Gateway. Diese Aufgabenteilung ergibt sich aus den unterschiedlichen Fähigkeiten der beiden Servertypen: Datenbankmanagementsysteme sind darauf spezialisiert, strukturierte Information zu verwalten und auf beliebige Anfragen dynamisch Treffermengen zu generieren. Web-Server hingegen verteilen in erster Linie statische HTML-Dokumente. 1.3 CGI und API Die einzige Möglichkeit, von einem Web-Server aus einen anderen Dienst anzubieten, besteht darin, eine externe Anwendung damit zu beauftragen. Als Schnittstelle nach außen hat der Web- Server 2 Möglichkeiten: CGI und API CGI (Common Gateway Interface) CGI ist eine normierte Schnittstelle zwischen Webserver und einem Softwaremodul (externes Programm), d.h. es beschreibt, wie der Webserver ein Programm bzw. einen Interpreter aufrufen soll und wie die Daten wieder zurückgeschickt werden sollen API (application programming interface) API sind Schnittstellen mit denen Webserver erweitert werden können. Die Module (z.b. Interpreter) werden Bestandteil des Servers selbst. Dadurch kann auch eine Geschwindigkeitssteigerung erreicht werden. 1.4 Datenbank-Management-System DBMS Eine Datenbank ist eine systematische Sammlung von Daten. Sinn und Zweck einer solchen Sammlung ist jedoch nicht die Anhäufung der Daten alleine, es geht vielmehr darum, den Zugriff auf verfügbare Daten zu erleichtern bzw. erst zu ermöglichen. Hierzu ist es notwendig, dass diese Daten organisiert und verwaltet werden. Zur Nutzung und Verwaltung der in der Datenbank gespeicherten Daten benötigt der Anwender ein Daten- 60

2 bank-management-system (DBMS, engl. Data Base Management System). Das DBMS muss Abfragen durchführen und Daten manipulieren können und für mehrere Benutzer gleichzeitig zur Verfügung stehen (Bild oben). 2.2 Exkurs: Aufbau einer relationalen Datenbank Relationale DBMS speichern Daten in Tabellen (auch Relationen genannt). Eine Tabelle besteht aus Zeilen (=Datensätze) und Spalten (=Attribute). Dadurch INTERNET Datum und Uhrzeit (z.b. Datum = DATE, Uhrzeit = TIME, beides = TIMESTAMP) In obigen Beispiel wären die Schlüsselfelder INTEGER-Felder und die Bezeichnungsfelder (Tierfamilie und Tierart) Textfelder (CHAR oder VARCHAR). Ursprünglich waren alle DBMS mit einer nicht-standardisierten Programmierschnittstelle ausgestattet. Für den einheitlichen Datenbankzugriff hat Microsoft einen Standard etabliert: ODBC (Open Database Connectivity). Er ermöglicht über eine einheitliche Schnittstelle den Zugriff auf Datenbanken, die ihrerseits über einen ODBC-Treiber verfügen (dazu gehören alle wichtigen am Markt vertretenen Datenbanken z.b. dbase, Oracle, DB/2, SQL-Server, Access, etc.).(bild unten) Webserver und Datenbank-Server (DBMS und Datenbank-Tabellen) müssen nicht dieselben physikalischen Rechner sein. Der Datenbank-Server und der Webserver können auch über ein Netzwerk kommunizieren, d.h. auch übers Internet. sind relationale Datenbanken enorm flexibel, z.b. können Daten in verschiedenen Tabellen auf verschiedene Arten miteinander verknüpft werden, um Informationen zu erhalten. Um eine Beziehung zwischen zwei Tabellen herzustellen, werden die Tabellen über ein gemeinsames Datenfeld verbunden. Die übereinstimmenden Werte bilden den so genannten Primär- bzw. Fremd-Schlüssel. Betrachten wir diese Definitionen an einem Beispiel: 2.3 DDL: Data Definition Language Anweisungen zur Datendefinition dienen zur Einrichtung, Änderung oder Löschung von Datenbankobjekten wie z. B. Tabellen und Indizes. Damit wird die gesamte Datenstruktur bzw. das physische Datenmodell definiert. Unter die DDL fallen folgende Statements: CREATE (Erzeugen neuer Objekte) ALTER (Verändern der Eigenschaften existierender Objekte) DROP (Löschen existierender Objekte) CREATE-Statement Mit dem CREATE-Statement kann man Datenbanken, Tabellen und Indizes anlegen. Datenbank anlegen CREATE DATABASE database_name Datenbank tierschutz anlegen CREATE DATABASE tierschutz; Tabelle anlegen 2 SQL 2.1Was ist SQL? SQL (Structured Query Language) ist eine standardisierte Definitions- und Abfragesprache für relationale Datenbanken zur Kommunikation mit einem Datenbank-Management-System und wurde wurde Ende der 70er Jahre von IBM entwickelt. Sie ermöglicht einerseits Datenabfragen und andererseits Datenmanipulation. Trotz Normung haben einzelne Hersteller ihre SQL-Dialekte individuell erweitert. SQL kann nicht allein stehend, sondern nur in Verbindung mit einer anderen Programmiersprache oder einem speziellen Datenbankprogramm verwendet werden. Weiterhin ist SQL keine prozedurale Computersprache wie BASIC, C oder PASCAL. Mit einem SQL-Befehl wird nicht definiert wie der Computer die Aufgabe erfüllen soll sondern man definiert nur was man gerne tun möchte. Das DBMS nimmt den Befehl entgegen und bestimmt dann die Art und Weise, wie die Aufgabe möglichst effizient erfüllt werden soll. Mit SQL kann man sowohl ad hoc Datenbankanfragen durchführen als auch Programme für immer wiederkehrende Routinen schreiben. SQL-Befehle gliedern sich in zwei Bereiche der Datendefinitionssprache (DDL) und der Datenmanipulationssprache (DML), aber dazu später. In der Abbildung werden zwei Tabellen dargestellt: Tierfamilie und Tierart. Die Zeilen repräsentieren untereinander gleichartige Informationseinheiten. Diese Datensätze sind gegliedert in Felder (Attribute). Die Spalten der Tabellen enthalten gleichartige Felder der Datensätze. Sie sind mit den Namen der Felder überschrieben (ID, Tierfamilie, Tierart). Jede der Tabellen hat verschiedene Datensätze, die durch einen eindeutigen Schlüssel (Feld ID) gekennzeichnet sind, welcher zur Identifikation des Datensatzes dient. In der Tabelle Tierart gibt es ein weiteres Feld mit dem Namen Tierfamilie_ID, welches die Tabelle Tierart mit der Tabelle Tierfamilie verknüpft. Das Feld Tierfamilie_ID ist ein Fremdschlüssel. Jedes Feld besitzt einen Datentyp, der innerhalb einer Spalte gleich sein muss. Die wichtigsten Datentypen sind: Zahlen (z.b. ganzzahlig = INTEGER, Fließkomma = FLOAT) Text (fixe Länge = CHAR(m), variable Länge = VARCHAR(n)) CREATE TABLE table_name (create_definition, [create_definition], ) create definition: column_name datatyp [NOT NULL] [UNIQUE] [PRIMARY KEY] Im CREATE TABLE-Statement dürfen mehrere create_definition durch Komma getrennt angegeben werden. Datentyp können z.b. INTEGER, FLOAT, CHAR(m), VARCHAR(n) etc. sein. In eckiger Klammer stehen optionale Felder. Diese können angegeben werden oder auch nicht. NOT NULL bedeutet, dass der Feldinhalt nicht leer sein darf, UNIQUE bedeutet, dass der Feldinhalt eindeutig sein muss und PRIMARY KEY bedeutet, dass es sich beim angegeben Feld um einen Primärschlüssel handelt. Tabelle tierart anlegen mit den Feldern id, tierfamilie_id und tierart CREATE TABLE tierart (id INTEGER PRIMARY KEY UNIQUE NOT NULL, tierfamilie_id INTEGER NOT NULL, tierart VARCHAR(255)); Index anlegen CREATE INDEX index_name ON table_name (column_name [, column_name]...) Ein oder mehrere Felder können indiziert sein, d.h. die Datenbank besitzt für diese Felder einen Index, das ist ein sortiertes Verzeichnis der Datenwerte und der zusabine@zmi.at Sabine Grötz PCNEWS-76 Februar

3 geordneten Datensätze (sowie ein Stichwortverzeichnis in einem Buch). Ein Index erleichtert der Datenbank das Finden von Datensätzen mit bestimmten Datenwerten. Für die Benutzer ist der Index unsichtbar. Index tierart_index anlegen CREATE INDEX tierart_index ON tierart (id, tierfamilie_id); ALTER-Statement ALTER TABLE table_name {ADD MODIFY DROP} (create_definition, [create_definition], ) Mit dem ALTER TABLE-Statement kann die Datenstruktur einer existierenden Tabelle geändert werden. Es können neue Felder definiert werden, bestehende Felder können geändert oder gelöscht werden. Beispiel: neues Feld in Tabelle tierfamilie hinzufügen ALTER TABLE tierfamilie ADD latein_name VARCHAR(255); Beispiel: bestehendes Feld latein_name in Tabelle tierfamilie ändern ALTER TABLE tierfamilie MODIFY latein_name CHAR(50); Beispiel: Feld latein_name in Tabelle tierfamilie löschen ALTER TABLE tierfamilie DROP latein_name; DROP-Statement DROP DATABASE database_name DROP TABLE table_name DROP INDEX index_name ON table_name Um erstellte Datenbanken, Tabellen oder Indizes zu löschen, verwendet man das DROP-Statement. Löschen einer Datenbank DROP DATABASE database_name; Löschen einer Tabelle DROP TABLE tierart; Löschen eines Index DROP INDEX tierart_index ON tierart; 2.4 DML: Data Manipulation Language Mit der DML werden Informationen aus der Datenbank abgefragt und Zustände der Daten verändert. Zur Datenabfrage dient das SELECT-Statement. Zur Datenmanipulation dienen die DELETE-, INSERTund UPDATE-Statements SELECT-Statement Das Select-Statement dient zur Abfrage der Tabellen. Ein wichtiges Konzept von SQL ist es, dass Antworten auf Anfragen wieder Tabellen sind. Im Extremfall kann diese Tabelle auch nur eine Spalte und eine Zeile haben. Dieses Konzept erlaubt verschachtelte Anfragen, da ja das Ergebnis einer Anfrage wieder als Suchtabelle einer nachfolgenden Anfrage verwendet werden kann. Weiters können Aggregatsfunktionen (Minimum, Maximum, Average), mathematische und boolsche Funktionen (Addition, Subtraktion, Größer, Gleich usw.) auf Felder angewendet werden. Es kann gruppiert und sortiert werden. In diesen Rahmen werden aber nur einfache Selects behandelt. Alle Daten der Tabelle tierfamilie ausgeben: SELECT * FROM tierfamilie; id tierfamilie 1 Säugetiere 2 Fische 3 Reptilien 4 Vögel Nur das Feld tierfamilie der Tabelle tierart alphabetisch sortiert ausgeben: SELECT tierart FROM tierart ORDER BY tierart; tierart Goldfisch Hunde Katzen Nagetiere Die Tabellen tierfamilie und tierart verknüpfen und alle Datensätze ausgeben: SELECT tierfamilie, tierart FROM tierfamilie, tierart WHERE tierfamilie.id = tierart.tierfamilie_id; tierfamilie tierart Säugetiere Hunde Säugetiere Katzen Säugetiere Nagetiere Fische Goldfisch Ausgeben der Anzahl der Tierarten für jede Tierfamilie: SELECT tierfamilie, COUNT(*) AS anzahl FROM tierfamilie, tierart WHERE tierfamilie.id = tierart.tierfamilie_id GROUP BY tierfamilie; tierfamilie anzahl Fische 1 Säugetiere 3 Beim letzten Beispiel wurde eine GROUP BY-Klausel verwendet, damit die Tierart nur einmal ausgegeben wird und der Zählvorgang durchgeführt werden kann. COUNT(*) heißt nur, dass die Datensätze gezählt werden sollen. AS anzahl bedeutet, dass die Zahl, welche COUNT(*) zurück liefert den Namen anzahl bekommt. Wie man sieht, werden die Tierfamilien nicht angezeigt, welche keine Tierart zugeordnet haben. Dieses Problem löst man mit einem LEFT JOIN wie im folgenden Beispiel: SELECT tierfamilie, COUNT(tierart.id) AS anzahl FROM tierfamilie LEFT JOIN tierart ON tierfamilie.id = tierart.tierfamilie_id SELECT {* column_name [, column_name]} Feld(er), * alle Felder FROM table_name [, table_name] Tabelle(n) WHERE conditions Bedingung(en) ORDER BY column_name [, column_name] Sortierung GROUP BY tierfamilie ORDER BY anzahl DESC; tierfamilie anzahl Säugetiere 3 Fische 1 Reptilien 0 Vögel 0 LEFT JOIN liefert jetzt auch Tierfamilien zurück, welche in der Tabelle Tierart keinen zugehörigen Datensatz haben. Im COUNT-Befehl muss jetzt ein Feld der Tabelle Tierart angegeben werden, in diesem Fall die Tierart-Id. Die ORDER BY-Klausel sagt aus, dass nach der ermittelten Anzahl absteigend (DESC) sortiert werden soll INSERT-Statement INSERT INTO table_name [ (column_name,...) ] VALUES (expression,...) Das INSERT-Statement dient zum Erzeugen neuer Datensätze in einer Tabelle. Die Liste der Feldnamen kann weggelassen werden, wenn in alle Felder etwas eingefügt werden soll. In diesem Fall muss man aber die Werte in genau der Reihenfolge angeben, wie sie beim CREATE TABLE definiert wurden. Bei den Werten müssen Zeichenketten und Datum in einfachen Hochkomma stehen, nur für Zahlen gilt das nicht. Einfügen einer neuen Tierart Delphin : INSERT INTO tierart (id, tierfamilie_id, tierart) VALUES (15,1, Delphin ); UPDATE-Statement UPDATE table_name SET column=expression,... [WHERE conditions] Das UPDATE-Statement dient zum Ändern eines vorhandenen Datensatzes. Dabei können beliebige Felder geändert werden, diese müssen nur nacheinander durch Komma getrennt nach dem Schlüsselwort SET angegeben werden. Die WHERE-Bedingung sagt aus, welcher oder welche Datensätze geändert werden sollen. Gibt man keine WHERE-Bedingung an, werden alle Datensätze in der angegebenen Tabelle geändert! Ändern der Tierart Delphin in Delphine UPDATE tierart SET tierart= Delphine WHERE id=15; DELETE-Statement DELETE FROM table_name [WHERE conditions] Mit dem DELETE-Statement kann man einen oder mehrere Datensätze aus einer Tabelle löschen. Die WHERE-Bedingung dient zum Einschränken der zu löschenden Datensätze. Wird keine WHERE-Bedingung angegeben, werden alle Daten ohne Nachfrage gelöscht! Löschen der Tierart Delphine DELETE FROM tierart WHERE id=15; 3 Datenbankanbindung mit mysql und PHP 3.1Was ist mysql? MySQL ist ein echtes Multi-User und Multi-Threaded relationales Datenbanksystem, das mit Client/Server-Architektur arbeitet. Es ist plattformunabhängig und wird für Unix-Rechner im nichtkommerziellen Bereich als Freeware angeboten. Client/Server-Architektur bedeutet, dass mysql auf dem Server im Hintergrund läuft, aber nur einmal geladen werden 62 ht tp://

4 muss. Dieser Dämon (Hintergrundprozess) nimmt alle Datenbankzugriffe entgegen und leitet die Ergebnisse an die Clients weiter. Die wichtigsten Eigenschaften von mysql sind Geschwindigkeit, Stabilität und einfache Bedienbarkeit. 3.2 Was ist PHP? PHP steht für PHP Hypertext Preprocessor und ist eine serverseitige Skript-Sprache zur Erstellung von dynamischen Webseiten. Die Anweisungen der Sprache sind dabei in den HTML-Code einer Webseite eingebettet. Der PHP-Code wird auf dem Server verarbeitet, daher bekommt der Benutzer beim Aufruf einer PHP-Seite nichts vom Code zu sehen. Die Syntax von PHP ist ähnlich wie die von C oder JavaScript. PHP ist relativ einfach zu erlernen, unterstützt ein Vielzahl von Datenbanksystemen und kann durch eine Vielzahl von Modulen um wichtige Funktionen erweitert werden. Die erste Version von PHP wurde 1994 von Rasmus Lerdorf aus Kanada entwickelt. Heute kümmern sich mehrere Entwickler auf der ganzen Welt um PHP. 3.3 Aufgabenstellung für unser Beispiel Wir werden ein kleines Redaktionssystem entwickeln, welches Artikel verwalten kann. Ein Artikel besteht aus Überschrift und Text. Datenbank und Tabelle mit mysql anlegen Das Datenbanksystem mysql kann über mehrere Schnittstellen angesprochen werden. Hier wird die Kommandozeile verwendet, in der hauptsächlich die Administration durchgeführt wird. Wir werden jetzt die Datenbank und deren Tabellen anlegen: Datenbank redsys anlegen mysql> CREATE DATABASE redsys; Dem System mitteilen, dass sich Anweisungen auf die Datenbank redsys beziehen: mysql> USE redsys; Die Tabelle artikel anlegen mysql> CREATE TABLE artikel (artikel_id INT not null AUTO_INCREMENT, titel VARCHAR (255) not null, text TEXT, PRIMARY KEY (artikel_id), INDEX (artikel_id), UNIQUE (artikel_id)); AUTO_INCREMENT sagt aus, dass mysql dieses Feld von selbst füllen soll und zwar immer um eins erhöht gegenüber dem höchsten Wert in diesem Feld. Wir fügen gleich den ersten Datensatz ein: 3.4 Verbindung zur Datenbank mittels PHP herstellen In unserem PHP-Script müssen wir zuerst eine Verbindung mit der Datenbank herstellen. Dafür gibt es den Befehl mysql_connect. Als Parameter muss der Hostname angegeben werden. Weiters kann man Benutzername und Passwort angeben. Im Fehlerfall wird die Anweisung die ausgeführt (das Skript wird beendet) und eine Fehlermeldung wird ausgegeben: mysql_connect( localhost,"user","passwd") or die( Unable Als Nächstes muss auch hier wieder die Datenbank ausgewählt werden. Dies geschieht mit dem Befehl mysql_select_db: mysql_select_db( redsys ) or die( Unable to Um beispielsweise ein SELECT-Statement abzusetzen verwendet man den Befehl mysql_query: $artikel = mysql_query( SELECT * FROM artikel ) or die( Select 3.5 PHP-Scripts zum Anzeigen, Einfügen, Ändern und Löschen Anzeigen aller Artikel Als ersten Schritt werden wir ein PHP-Script schreiben, welches alle Artikel aus der Datenbank liest und diese sortiert nach dem Schlüsselfeld ausgibt. Zunächst benötigen wir wieder den Datenbankverbindungsaufbau. Danach setzten wir ein Select ab, welches alle Artikel ausliest. Das Ergebnis müssen wir mit einer while-schleife und dem Befehl mysql_fetch_array auslesen und ausgeben. Der Befehl mysql_fetch_array speichert die Daten in einem assoziativen Array, d.h. die Indizes entsprechen dem Namen der Datenbankfelder. <html> <head> <title>artikel anzeigen</title> </head> <body> <H2>Artikel anzeigen</h2> <a href="artikel_einfuegen.htm">artikel hinzufügen</a> <br> $artikel = mysql_query( SELECT * FROM artikel ORDER BY artikel_id DESC ) or die( Select INTERNET while ($rec_artikel = mysql_fetch_array($artikel)) { echo <H3>. htmlentities($rec_artikel[ titel ]). </H3> ; $query = INSERT INTO artikel (titel, text) echo <p>. ; htmlentities($rec_artikel[ text ]). </p> ; $query.= VALUES (. $titel.,. echo <a href=\ artikel_aendern.php?id=" $text. ) ; mysql>. $rec_artikel[ artikel_id ]; mysql_query($query) or die( Insert INSERT INTO artikel (titel, text) echo \ >Artikel ändern</a> VALUES ( Mein erster Artikel, "; Jetzt kommt der Inhalt ); echo <a href=\ artikel_loeschen.php?id=". $rec_artikel[ artikel_id ]; echo \ >Artikel löschen</a>"; } Ändern eines Artikels </body> </html> Um nachträglich auch Artikel ändern zu Weiters geben wir noch drei Links aus: können, brauchen wir wieder zwei zum Hinzufügen, Ändern und Löschen Skripts. Das erste ist diesmal kein reines eines Artikels. Beim Ändern und Löschen HTML-Dokument, sondern muss mittels müssen wir allerdings dem nachfolgen- PHP die Daten die geändert werden solsabine@zmi.at Sabine Grötz PCNEWS-76 Februar dem Skript die Artikel-Id mitgeben, damit das Skript weiß, um welchen Datensatz es sich handelt. Deshalb wird der Dateiname um?id=wert erweitert. Statt wert setzten wir die Artikel-Id aus dem Array des gelesenen Datensatz ein. Die Funktion htmlentities wandelt den Text in HTML-Code um (z.b. Umlaute). Das Ergebnis sieht im Browser so wie in der oberen Abbildung aus. Der erste Artikel den wir eingefügt haben, wird bereits angezeigt Einfügen eines Artikels Um weitere Artikel ohne Kenntnisse von SQL einfügen zu können, benötigen wir erstens ein Formular, in welchem die Daten eingegeben werden können, und zweitens ein PHP-Script, welches die im Formular enthaltenen Daten in die Datenbank überträgt. Das erste Dokument enthält nur HTML-Code mit dem Formular und sieht folgendermaßen aus (die BODY- und HTML-Tags wurden weggelassen): <form method="post" action="artikel_insert.php"> Titel: <input type="text" name="titel" size=60 maxlength=255><br><br> Text: <textarea name="text" cols=45 rows=4></textarea><br><br> <input type=submit value="einfügen"> </form> Im zweiten Dokument befindet sich nur PHP-Code. Das Script muss jetzt einerseits eine Datenbankverbindung herstellen und andererseits das INSERT-Statement mit den richtigen Daten aus dem Formular füllen und absetzen. Die eingegebenen Daten sind in den Variablen $titel und $text gespeichert. Diese Variablen heißen so wie sie in den Formular-Tags im Feld name= angegeben wurden. Nach dem Einfügen soll wieder auf die Artikel anzeigen -Seite umgeleitet werden. Das geschieht mit dem Befehl header.

5 Und so sieht das ausgefüllte Formular im Browser aus: $query = UPDATE artikel SET titel=. $titel; $query.=, text=. $text. WHERE artikel_id =. $id; mysql_query($query) or die( Update Der neue Artikel ist an die erste Stelle gerückt: Im Browser sieht es dann so aus: Bild Artikel ändern Der Text des ersten Artikels wurde mit einem neuen Text überschrieben. In der nächsten Abbildung sehen wir die Änderung: Löschen eines Artikels Damit Artikel auch wieder gelöscht werden können, benötigen wir ein Skript, welches das DELETE-Statement absetzt. Und das sieht so aus: $query = DELETE FROM artikel WHERE artikel_id =. $id; mysql_query($query) or die( Delete len in das Formular laden. Dazu wird mit einem Select der Datensatz gelesen. In diesem Select wird die übergebene Artikel-Id benötigt, damit die richtigen Daten in das Formular kopiert werden. Das Skript sieht so aus: $query = SELECT * FROM artikel WHERE artikel_id=. $id; $artikel = mysql_query($query) or die( Select $rec_artikel = mysql_fetch_array($artikel); echo <form method=\ post\" action=\"artikel_update.php?id="; echo $rec_artikel[ artikel_id"]. \ >"; echo Titel: <input type=\ text\" name=\"titel\" size=60 maxlength=255 ; echo value=\ ". $rec_artikel[ titel ]. \ ><br><br>"; echo Text: <textarea name=\ text\" cols=45 rows=4>"; echo $rec_artikel[ text"]. </textarea><br><br> ; echo <input type=submit value=\ einfügen\">"; echo </form> ; Im zweiten Skript wird das Update durchgeführt und wieder auf die Anzeigen-Seite weitergeleitet: 64

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

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

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. MySQL-Befehle 1. Einleitung In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. 2. Arbeiten mit Datenbanken 2.1 Datenbank anlegen Eine Datenbank kann man wie folgt

Mehr

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

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-

Mehr

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

PHP + MySQL. Die MySQL-Datenbank. Hochschule Karlsruhe Technik & Wirtschaft Internet-Technologien T3B250 SS2014 Prof. Dipl.-Ing. PHP + MySQL Die MySQL-Datenbank Zusammenspiel Apache, PHP, PHPMyAdmin und MySQL PHPMyAdmin Verwaltungstool Nutzer Datei.php oder Datei.pl Apache HTTP-Server PHP Scriptsprache Perl Scriptsprache MySQL Datenbank

Mehr

Begleitskript. zum PHP/MySQL. Kurs

Begleitskript. zum PHP/MySQL. Kurs Begleitskript zum PHP/MySQL Kurs http://www.online-platform.net Dieser Text unterliegt der GNU General Public License. Er darf als ganzes oder in Auszügen kopiert werden, vorausgesetzt, dass sich dieser

Mehr

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

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

Mehr

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

Mehr

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

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten Einführung in SQL Die Sprache SQL (Structured Query Language) ist eine Programmiersprache für relationale Datenbanksysteme, die auf dem ANSI-SQL-Standard beruht. SQL wird heute von fast jedem Datenbanksystem

Mehr

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,

Mehr

MySQL, phpmyadmin & SQL. Kurzübersicht

MySQL, phpmyadmin & SQL. Kurzübersicht MySQL, phpmyadmin & SQL Kurzübersicht Referenzen MySQL Documentation: http://dev.mysql.com/doc PHP 5 / MySQL5. Studienausgabe. Praxisbuch und Referenz (Kannengießer & Kannengießer) 2 Datenbank anlegen

Mehr

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de 08 Datenbanken Übung SQL Einführung Eckbert Jankowski www.iit.tu-cottbus.de Datenmodell (Wiederholung, Zusammenfassung) Objekte und deren Eigenschaften definieren Beziehungen zwischen den Objekten erkennen/definieren

Mehr

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

Datenbank - Teil 3. Ziele: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP. Ziele: Eine Datenbank anlegen mit SQL Daten eingeben mit SQL Abfragen stellen mit SQL und PHP 1 Datenbankserver Entwickelt von der schwedischen Aktiengesellschaft MySQL Unter GNU General Public License

Mehr

PHP Schulung Beginner. Newthinking Store GmbH Manuel Blechschmidt

PHP Schulung Beginner. Newthinking Store GmbH Manuel Blechschmidt PHP Schulung Beginner Newthinking Store GmbH Manuel Blechschmidt Begrüßung Es gibt keine dummen Fragen nur dumme Antworten. Übersicht Sprung ins Kalte Wasser 'Hallo Welt' Theorie Requests Grundlagen Kommentare

Mehr

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

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

Mehr

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

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe... php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.

Mehr

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

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 6: Datenbankabfragen mit SQL und PHP. Stand: 24.11.2014. Übung WS 2014/2015 Übung WS 2014/2015 E-Commerce: IT-Werkzeuge Web-Programmierung Kapitel 6: Datenbankabfragen mit SQL und PHP Stand: 24.11.2014 Benedikt Schumm M.Sc. Lehrstuhl für ABWL und Wirtschaftsinformatik Katholische

Mehr

Datenbanken. Ein DBS besteht aus zwei Teilen:

Datenbanken. Ein DBS besteht aus zwei Teilen: Datenbanken Wikipedia gibt unter http://de.wikipedia.org/wiki/datenbank einen kompakten Einblick in die Welt der Datenbanken, Datenbanksysteme, Datenbankmanagementsysteme & Co: Ein Datenbanksystem (DBS)

Mehr

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

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung Inhalt Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle Daten und Tabellen Normalisierung, Beziehungen, Datenmodell SQL - Structured Query Language Anlegen von Tabellen Datentypen (Spalten,

Mehr

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

PHP und MySQL. Integration von MySQL in PHP. Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424. Michael Kluge (michael.kluge@tu-dresden. Zentrum für Informationsdienste und Hochleistungsrechnen (ZIH) PHP und MySQL Integration von MySQL in PHP Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424 (michael.kluge@tu-dresden.de) MySQL

Mehr

Datenbanken für Online Untersuchungen

Datenbanken für Online Untersuchungen Datenbanken für Online Untersuchungen Im vorliegenden Text wird die Verwendung einer MySQL Datenbank für Online Untersuchungen beschrieben. Es wird davon ausgegangen, dass die Untersuchung aus mehreren

Mehr

Grundlagen der Informatik 2

Grundlagen der Informatik 2 Grundlagen der Informatik 2 Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Gliederung 1. Einführung

Mehr

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

Gregor Kuhlmann Friedrich Müllmerstadt. MySQL. Der Schlüssel zu Datenbanken-Design und -Programmierung. c 3 E. i- O Rowohlt Taschenbuch Verlag Gregor Kuhlmann Friedrich Müllmerstadt MySQL Der Schlüssel zu Datenbanken-Design und -Programmierung r?: X c 3 E i- O uu Rowohlt Taschenbuch Verlag Inhalt Editorial 11 Einleitung 12 1 Einführung in das

Mehr

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

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language) Einführung in SQL 1. Grundlagen Structured Query Language Viele Dialekte Unterteilung: i. DDL (Data Definition Language) ii. iii. DML (Data Modifing Language) DRL (Data Retrival Language) 1/12 2. DDL Data

Mehr

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

Multimedia im Netz Wintersemester 2013/14. Übung 03 (Nebenfach) Multimedia im Netz Wintersemester 2013/14 Übung 03 (Nebenfach) Ludwig-Maximilians-Universität München Multimedia im Netz WS 2013/14 - Übung 3-1 Datenbanken und SQL Mit Hilfe von Datenbanken kann man Daten

Mehr

SQL-Befehlsliste. Vereinbarung über die Schreibweise

SQL-Befehlsliste. Vereinbarung über die Schreibweise Vereinbarung über die Schreibweise Schlüsselwort [optionale Elemente] Beschreibung Befehlsworte in SQL-Anweisungen werden in Großbuchstaben geschrieben mögliche, aber nicht zwingend erforderliche Teile

Mehr

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

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL Früherer Name: SEQUEL SQL: Structured Query Language Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL ist eine deklarative Anfragesprache Teile von SQL Vier große Teile:

Mehr

IV. Datenbankmanagement

IV. Datenbankmanagement Wirtschaftsinformatik 2 (PWIN) IV. Datenbankmanagement Kapitel 2: Datenmanipulationssprache SQL Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 1 Agenda 1.

Mehr

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

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software SQL Tutorial SQL - Tutorial SS 06 Hubert Baumgartner INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt des Tutorials 1 2 3 4

Mehr

ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen

ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen C3: Structured Query Language Lernziele: Nach der Bearbeitung dieser Lektion haben Sie folgende Kenntnisse erworben: Sie können elementaren

Mehr

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

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13 Auf einen Blick Vorwort 13 Teil 1 Vorbereitung Kapitel 1 Einleitung 17 Kapitel 2 SQL - der Standard relationaler Datenbanken 21 Kapitel 3 Die Beispieldatenbanken 39 Teil 2 Abfrage und Bearbeitung Kapitel

Mehr

SQL. SQL = Structured Query Language, ist eine standardisierte Sprache zum Gebrauch im Zusammenhang mit Datenbanken.

SQL. SQL = Structured Query Language, ist eine standardisierte Sprache zum Gebrauch im Zusammenhang mit Datenbanken. Vorlesungsteil SQL Grundlagen - 1 / 8 - SQL SQL = Structured Query Language, ist eine standardisierte Sprache zum Gebrauch im Zusammenhang mit Datenbanken. Auf einem Server (Rechner im Netz, der Dienste

Mehr

Abfragen (Queries, Subqueries)

Abfragen (Queries, Subqueries) Abfragen (Queries, Subqueries) Grundstruktur einer SQL-Abfrage (reine Projektion) SELECT [DISTINCT] {* Spaltenname [[AS] Aliasname ] Ausdruck} * ; Beispiele 1. Auswahl aller Spalten SELECT * ; 2. Auswahl

Mehr

SQL, MySQL und FileMaker

SQL, MySQL und FileMaker SQL, MySQL und FileMaker Eine kurze Einführung in SQL Vorstellung von MySQL & phpmyadmin Datenimport von MySQL in FileMaker Autor: Hans Peter Schläpfer Was ist SQL? «Structured Query Language» Sprache

Mehr

Datumsangaben, enthält mindestens Jahr, Monat, Tag

Datumsangaben, enthält mindestens Jahr, Monat, Tag Datenbanken mit SQL Informatik - Sprenger Häufig wird mit Tabellenkalkulationen gearbeitet, obwohl der Einsatz von Datenbanken sinnvoller ist. Tabellenkalkulationen wie Microsoft Excel oder LibreOffice

Mehr

Microsoft Access 2010 SQL nutzen

Microsoft Access 2010 SQL nutzen Microsoft Access 2010 SQL nutzen Welche Bestellungen hat Kunde x aufgegeben? Welche Kunden haben noch nie bestellt? Wer hat welche Bestellungen von welchen Kunden aufgenommen? S(tructured)Q(uery)L(anguage)

Mehr

Dateneingabe über ein HTML-Formular in eine Datenbank:

Dateneingabe über ein HTML-Formular in eine Datenbank: Dateneingabe über ein HTML-Formular in eine Datenbank: Über ein Eingabeformular mit fünf Eingabefelder sollen Personaldaten in eine Datenbank gespeichert werden: Schritt 1: Erstellen des Eingabeformulars

Mehr

SQL (Structured Query Language) Schemata Datentypen

SQL (Structured Query Language) Schemata Datentypen 2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente

Mehr

ACCESS SQL ACCESS SQL

ACCESS SQL ACCESS SQL ACCESS SQL Datenbankabfragen mit der Query-Language ACCESS SQL Datenbankpraxis mit Access 34 Was ist SQL Structured Query Language Bestehend aus Datendefinitionssprache (DDL) Datenmanipulationssprache

Mehr

Informatik Datenbanken SQL-Einführung

Informatik Datenbanken SQL-Einführung Informatik Datenbanken SQL-Einführung Gierhardt Inhaltsverzeichnis 1 Vorbemerkungen 1 2 Auswahl-Abfragen mit SELECT 2 2.1 Selektion...................................... 2 2.2 Projektion.....................................

Mehr

Labor 3 - Datenbank mit MySQL

Labor 3 - Datenbank mit MySQL Labor 3 - Datenbank mit MySQL Hinweis: Dieses Labor entstand z.t. aus Scripten von Prof. Dr. U. Bannier. 1. Starten des MySQL-Systems MySQL ist ein unter www.mysql.com kostenlos erhältliches Datenbankmanagementsystem.

Mehr

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

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) DDL ist Teil von SQL (Structured

Mehr

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

Internet Praktikum im Grunstudium Formularwerte und Datenbanken Speichern, Lesen und Aufbereiten. Dr. Guido Rößling Dipl.-Ing. Internet Praktikum im Grunstudium Formularwerte und Datenbanken Speichern, Lesen und Aufbereiten Dr. Guido Rößling Dipl.-Ing. Andreas Hartl Aktueller Zustand Sie sollten schon in der Lage sein Formulare

Mehr

Arbeiten mit einem lokalen PostgreSQL-Server

Arbeiten mit einem lokalen PostgreSQL-Server Arbeiten mit einem lokalen PostgreSQL-Server Download für das Betriebssystem Windows PostgreSQL-Server und pgadmin: http://www.enterprisedb.com/products-servicestraining/pgdownload#windows pgadmin: http://www.pgadmin.org/download/windows.php

Mehr

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

MySQL. MySQL ist ein Datenbanksystem. Es besteht aus einem zentralen Server und aus (mehreren) Clients. Es benutzt einen Dialekt der Sprache SQL. MySQL Was bieten Datenbanken? Zentralisation von Daten Maschinenunterstützte Weiterverarbeitung Daten werden vielen Benutzern gleichzeitig zur Verfügung gestellt Ausschalten von konkurrierenden Zugriffen

Mehr

Folien php/mysql Kurs der Informatikdienste

Folien php/mysql Kurs der Informatikdienste Folien php/mysql Kurs der Informatikdienste 1. Einführung in die Datenbank MySQL Kursbeispiel und Kursziele 1.1 Das Kursbeispiel: eine kleine Personalverwaltung 1.2 Was brauchen wir? 1.3 Ziele Kurs AEMS1,

Mehr

Grundkonzepte von SQL

Grundkonzepte von SQL 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

Mehr

Übung 1: Ein Website News-System mit MySQL

Übung 1: Ein Website News-System mit MySQL Übung 1: Ein Website News-System mit MySQL In der Vorübung haben wir bereits mit Hilfe eines ERMs den Datenbankentwurf erstellt und daraus die folgenden Tabellen abgeleitet: Nun muss diese Datenbank in

Mehr

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

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird. Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,

Mehr

5.8 Bibliotheken für PostgreSQL

5.8 Bibliotheken für PostgreSQL 5.8 Bibliotheken für PostgreSQL Haskell/WASH: Modul Dbconnect PHP: pqsql-funktionen Java/JSP: JDBC Perl: DBI database interface modul Vorläufige Version 80 c 2004 Peter Thiemann, Matthias Neubauer 5.9

Mehr

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

Datenbank - Teil 3. Ziele dieser Übung: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP Datenbank - Teil 3 Ziele dieser Übung: Eine Datenbank anlegen mit SQL Daten eingeben mit SQL Abfragen stellen mit SQL und PHP 1 Datenbank - Teil 3 Datenbankserver Entwickelt von der schwedischen Aktiengesellschaft

Mehr

SQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement

SQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement SQL Datenmanipulation Datenmanipulationssprache Ein DML Statement wird ausgeführt wenn: neue Tupel eingefügt werden existierende Tupel geändert werden existierende Tupel aus der Tabelle gelöscht werden

Mehr

Einführung in SQL Datenbanken bearbeiten

Einführung in SQL Datenbanken bearbeiten Einführung in SQL Datenbanken bearbeiten Jürgen Thomas Entstanden als Wiki-Buch Bibliografische Information Diese Publikation ist bei der Deutschen Nationalbibliothek registriert. Detaillierte Angaben

Mehr

4. Datenbanksprache SQL

4. Datenbanksprache SQL 4. Datenbanksprache SQL Standard-Sprache für das Arbeiten mit relationalen Datenbanken: Structured Query Language Datendefinition: Anlegen, Ändern und Löschen von Datenbankstrukturen Datenmanipulation:

Mehr

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

U 8 SQL. = Structured Query Language (heute auch Standard Query Language) ALLGEMEIN: U 8 SQL = Structured Query Language (heute auch Standard Query Language) ALLGEMEIN: - Abfragesprache für relationale Datenbanken, die plattformübergreifend verwendet wird - Vereinfachte Verwendung über

Mehr

Sructred Query Language

Sructred Query Language Sructred Query Language Michael Dienert 11. November 2010 Inhaltsverzeichnis 1 Ein kurzer Versionsüberblick 1 2 SQL-1 mit einigen Erweiterungen aus SQL-92 2 3 Eine Sprache zur Beschreibung anderer Sprachen

Mehr

Interaktive Webseiten mit PHP und MySQL

Interaktive Webseiten mit PHP und MySQL Interaktive Webseiten mit PHP und Vorlesung 4: PHP & Sommersemester 2003 Martin Ellermann Heiko Holtkamp Sommersemester 2001 Hier noch ein wenig zu (My)SQL: SHOW INSERT SELECT ORDER BY GROUP BY LIKE /

Mehr

Carl-Engler-Schule Karlsruhe Datenbank 1 (5)

Carl-Engler-Schule Karlsruhe Datenbank 1 (5) Carl-Engler-Schule Karlsruhe Datenbank 1 (5) Informationen zur Datenbank 1. Definition 1.1 Datenbank-Basis Eine Datenbank-Basis ist eine Sammlung von Informationen über Objekte (z.b Musikstücke, Einwohner,

Mehr

Einführung in die Informatik II

Einführung in die Informatik II Einführung in die Informatik II Die Structured Query Language SQL Prof. Dr. Nikolaus Wulff SQL Das E/R-Modell lässt sich eins zu eins auf ein Tabellenschema abbilden. Benötigt wird eine Syntax, um Tabellen

Mehr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr Raum: LF 230 Bearbeitung: 9.-11. Mai 2005 Datum Gruppe Vorbereitung Präsenz Aktuelle Informationen unter: http://www.is.informatik.uni-duisburg.de/courses/dbp_ss03/ Tabellen in IBM DB2 Tabellen Eine relationale

Mehr

Internetanbindung von Datenbanken

Internetanbindung von Datenbanken Internetanbindung von Datenbanken http://galahad.informatik.fh-kl.de/~miesel/index.html PHP -1 Gliederung Einführung PHP3 Datenbankanbindung mit PHP3 Sicherheitsprobleme Realisierung mit PHP3 Probleme

Mehr

SQL: Weitere Funktionen

SQL: Weitere Funktionen Vergleich auf Zeichenketten SQL: Weitere Funktionen LIKE ist ein Operator mit dem in Zeichenketten andere Zeichenketten gesucht werden; zwei reservierte Zeichen mit besonderer Bedeutung sind hier % (manchmal

Mehr

Web Technologien Klassische Datenbanken am Beispiel von MySQL

Web Technologien Klassische Datenbanken am Beispiel von MySQL Web Technologien Klassische Datenbanken am Beispiel von MySQL Univ.-Prof. Dr.-Ing. Wolfgang Maass Chair in Information and Service Systems Department of Law and Economics WS 2011/2012 Wednesdays, 8:00

Mehr

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL Datenmodifikation mit SQL Folie 45 SQL - Datenmodifikation Einfügen INSERT INTO Relation [(Attribut, Attribut,...)] VALUES (Wert, Wert,...) INSERT INTO Relation [(Attribut, Attribut,...)] SFW-Anfrage Ändern

Mehr

Cassandra Query Language (CQL)

Cassandra Query Language (CQL) Cassandra Query Language (CQL) Seminar: NoSQL Wintersemester 2013/2014 Cassandra Zwischenpräsentation 1 Gliederung Basic facts Datentypen DDL/DML ähnlich zu SQL Besonderheiten Basic facts CQL kurz für

Mehr

Inhaltsverzeichnis. jetzt lerne ich

Inhaltsverzeichnis. jetzt lerne ich Inhaltsverzeichnis jetzt lerne ich Einführung 15 1 Erste Schritte 21 1.1 Datenbanken und Datenbank-Managementsysteme 21 1.2 Zugriff auf Datenbanken 22 1.3 Was der Großvater noch wusste... 22 1.4 Einordnung

Mehr

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

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

Mehr

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

Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien 1.1 Definition Datenbank Ein Datenbanksystem (DBS) ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS

Mehr

Java Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D.

Java Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D. 1 Copyright 1996-1997 by Axel T. Schreiner. All Rights Reserved. 7 Datenbankzugriff Prinzip Dieser Abschnitt beschäftigt sich mit dem Paket java.sql, das eine SQL-Schnittstelle für Java verkapselt. Java-Programme

Mehr

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

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Datensatzhistorie mit dem SQL Server 2000 und 2005 Datensatzhistorie mit dem SQL Server 2000 und 2005-2 - Inhalt

Mehr

SQL,Teil 1: CREATE, INSERT, UPDATE, DELETE, DROP

SQL,Teil 1: CREATE, INSERT, UPDATE, DELETE, DROP SQL,Teil 1: CREATE, INSERT, UPDATE, DELETE, DROP W. Spiegel Übersicht DDL & DML Relationen definieren: CREATE Primärschlüssel setzen mit primary key Tabellen löschen: DROP Daten speichern: INSERT Daten

Mehr

Hinweise zur Arbeit mit MySQL

Hinweise zur Arbeit mit MySQL Hinweise zur Arbeit mit MySQL Warum soll ich mich überhaupt mit MySQL beschäftigen? Nicht ganz bescheiden wird auf der MySQL-Website verkündet: Die populärste Open-Source-Datenbank der Welt. Tatsächlich

Mehr

Arbeiten mit ACCESS 2013

Arbeiten mit ACCESS 2013 Dipl.-Hdl., Dipl.-Kfm. Werner Geers Arbeiten mit ACCESS 2013 Datenbanken mit Datenmodellierung Tabellen, Abfragen, Formularen und Berichten Beziehungen Makros Datenaustausch SQL Structured Query Language

Mehr

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Übung, Sommersemester 2013 22. April 2013 - MySQL Sebastian Cuy sebastian.cuy@uni-koeln.de Datenbanken Was sind eigentlich Datenbanken? Eine

Mehr

Folien php/mysql Kurs der Informatikdienste

Folien php/mysql Kurs der Informatikdienste Folien php/mysql Kurs der Informatikdienste 1. Einführung in die Datenbank MySQL Kursbeispiel und Kursziele 1.1 Das Kursbeispiel: eine kleine Personalverwaltung 1.2 Was brauchen wir? 1.3 Ziele Kurs AEMS1,

Mehr

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Übung, Sommersemester 2013 29. April 2013 - MySQL 2 Sebastian Cuy sebastian.cuy@uni-koeln.de Aufgaben Anmerkungen Best practice: SQL Befehle

Mehr

Kapitel DB:VI (Fortsetzung)

Kapitel DB:VI (Fortsetzung) Kapitel DB:VI (Fortsetzung) VI. Die relationale Datenbanksprache SQL Einführung SQL als Datenanfragesprache SQL als Datendefinitionssprache SQL als Datenmanipulationssprache Sichten SQL vom Programm aus

Mehr

Einführung in SQL mit Oracle

Einführung in SQL mit Oracle Seminar Einführung in SQL mit Oracle von Prof. Dr. Rainer Schwenkert Hochschule München c Vervielfältigung nur mit Zustimmung des Autors Themenbereiche SQL-Historie Wichtige DDL- und DML-Anweisungen Der

Mehr

Datenbanksysteme SS 2007

Datenbanksysteme SS 2007 Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück Kapitel 9c: Datenbankapplikationen Architektur einer Web-Applikation mit Servlets, JSPs und JavaBeans

Mehr

Relationale Datenbanken in der Praxis

Relationale Datenbanken in der Praxis Seite 1 Relationale Datenbanken in der Praxis Inhaltsverzeichnis 1 Datenbank-Design...2 1.1 Entwurf...2 1.2 Beschreibung der Realität...2 1.3 Enitiy-Relationship-Modell (ERM)...3 1.4 Schlüssel...4 1.5

Mehr

MySql und PHP. Apache2: Konfigurieren für php4. ...\apache2\conf\httpd.conf aufrufen. Folgende Zeilen einfügen:

MySql und PHP. Apache2: Konfigurieren für php4. ...\apache2\conf\httpd.conf aufrufen. Folgende Zeilen einfügen: MySql und PHP Apache2: Konfigurieren für php4...\apache2\conf\httpd.conf aufrufen Folgende Zeilen einfügen: LoadModule php4_module "c:/php/php4apache2.dll" AddType application/x-httpd-php.php Wichtig!!

Mehr

105.3 SQL-Datenverwaltung

105.3 SQL-Datenverwaltung LPI-Zertifizierung 105.3 SQL-Datenverwaltung Copyright ( ) 2009 by Dr. W. Kicherer. This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License. To view a

Mehr

SQL und MySQL. Kristian Köhntopp

SQL und MySQL. Kristian Köhntopp SQL und MySQL Kristian Köhntopp Wieso SQL? Datenbanken seit den frühen 1950er Jahren: Hierarchische Datenbanken Netzwerkdatenbanken Relationale Datenbanken = SQL Relational? 10 9 8 7 6 f(y) := y = x r(y)

Mehr

Views in SQL. 2 Anlegen und Verwenden von Views 2

Views in SQL. 2 Anlegen und Verwenden von Views 2 Views in SQL Holger Jakobs bibjah@bg.bib.de, holger@jakobs.com 2010-07-15 Inhaltsverzeichnis 1 Wozu dienen Views? 1 2 Anlegen und Verwenden von Views 2 3 Schreibfähigkeit von Views 3 3.1 Views schreibfähig

Mehr

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1 Fachhochschule Kaiserslautern Fachbereiche Elektrotechnik/Informationstechnik und Maschinenbau Labor Datenbanken Versuch 1 : Die Grundlagen von MySQL ------------------------------------------------------------------------------------------------------------

Mehr

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

Multimedia im Netz Wintersemester 2013/14. Übung 10 (Nebenfach) Multimedia im Netz Wintersemester 2013/14 Übung 10 (Nebenfach) Ludwig-Maximilians-Universität München Multimedia im Netz WS 2012/13 - Übung 10-1 Erinnerung: Anmeldung zur Klausur Die Anmeldung zur Klausur

Mehr

Grundkurs MySQL und PHP

Grundkurs MySQL und PHP Martin Pollakowski Grundkurs MySQL und PHP So entwickeln Sie Datenbanken mit Open-Source-Software vieweg Inhaltsverzeichnis Anwendung und Nutzen von Datenbanken 1 1.1 Was ist eine Datenbank? 1 1.2 Abgrenzung

Mehr

Lösungen der Übungsaufgaben von Kapitel 10

Lösungen der Übungsaufgaben von Kapitel 10 Lösungen der Übungsaufgaben von Kapitel 10 1. Legen Sie mit einem SQL - Befehl eine neue Tabelle PERSON_KURZ mit den Feldern Kurz_Id, Kurz_Name an. Machen Sie das so, dass Kurz_Id der Primärschlüssel wird

Mehr

S(tructured)Q(uery)L(anguage)

S(tructured)Q(uery)L(anguage) S(tructured)Q(uery)L(anguage) Welche Kunden haben wir? Welche Kunden wohnen in Chicago? Welche Bestellung wurden zwischen dem 01.03.2006 und dem 31.03.2006 aufgegeben? Leibniz Universität IT Services Anja

Mehr

PHP. Prof. Dr.-Ing. Wolfgang Lehner. Diese Zeile ersetzt man über: Einfügen > Kopf- und

PHP. Prof. Dr.-Ing. Wolfgang Lehner. Diese Zeile ersetzt man über: Einfügen > Kopf- und 8. PHP Prof. Dr.-Ing. Wolfgang Lehner Diese Zeile ersetzt man über: Einfügen > Kopf- und PHP PHP (Hypertext Preprocessor) Serverseitige Skriptsprache (im Gegensatz zu JavaScript) Hauptanwendungsgebiet:

Mehr

Tag 2 Inhaltsverzeichnis

Tag 2 Inhaltsverzeichnis Tag 2 Inhaltsverzeichnis Relationales Modell Relation und Schema Umsetzung ER-Modell --> relationales Schema DB Schema: Empfehlungen Typen von Abfragesprachen SQL Teil 1 Ziel und Geschichte Daten- und

Mehr

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

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11 Datenbanksysteme WS 05/ 06 Gruppe 12 Martin Tintel Tatjana Triebl Seite 1 von 11 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung... 3 2. Datenbanken... 4 2.1. Oracle... 4 2.2. MySQL... 5 2.3 MS

Mehr

Dipl.-Hdl., Dipl.-Kfm. ACCESS 2007

Dipl.-Hdl., Dipl.-Kfm. ACCESS 2007 Dipl.-Hdl., Dipl.-Kfm. Werner Geers Arbeiten mit ACCESS 2007 Datenbanken mit Datenmodellierung Tabellen, Abfragen, Formularen und Berichten Beziehungen Makros Datenaustausch SQL Structured Query Language

Mehr

Der Einsatz von MySQL-Datenbanken (mit XAMPP)

Der Einsatz von MySQL-Datenbanken (mit XAMPP) Informatik in der Mittelstufe: Der Einsatz von MySQL-Datenbanken (mit XAMPP) Hannes Heusel Eduard-Spranger-Gymnasium Landau Warum soll ich eine MySQL- Datenbank verwenden? kostenlos Mehrbenutzersystem

Mehr

Grundlagen. Wie sind PHP-Dateien aufgebaut?

Grundlagen. Wie sind PHP-Dateien aufgebaut? Grundlagen PHP und MySQL PHP läuft serverseitig!! Wie sind PHP-Dateien aufgebaut? PHP-Dateien fangen mit an und hören mit auf. Sie müssen die Dateiendung *.php haben echo "So könnte eine Datei aussehen\n";

Mehr

Projekt Online-Shop:

Projekt Online-Shop: Mit einem Buchverwaltungsprogramm kann können über das Internet neue Datensätze in eine Online-Datenbank einund ausgegeben, sowie gelöscht und verändert werden. Die Internet-Site besteht aus den nebenstehenden

Mehr

PostgreSQL unter Debian Linux

PostgreSQL unter Debian Linux Einführung für PostgreSQL 7.4 unter Debian Linux (Stand 30.04.2008) von Moczon T. und Schönfeld A. Inhalt 1. Installation... 2 2. Anmelden als Benutzer postgres... 2 2.1 Anlegen eines neuen Benutzers...

Mehr

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

Web-Technologien. Prof. Dr. rer. nat. Nane Kratzke SQL. Praktische Informatik und betriebliche Informationssysteme Handout zur Unit Web-Technologien SQL 1 Prof. Dr. rer. nat. Nane Kratzke Praktische Informatik und betriebliche Informationssysteme Raum: 17-0.10 Tel.: 0451 300 5549 Email: nane.kratzke@fh-luebeck.de (Praktische

Mehr

Python CGI-Skripte erstellen

Python CGI-Skripte erstellen Python CGI-Skripte erstellen CGI (Common Gateway Interface)... ist eine Schnittstelle, um Scripte im Web bereitzustellen. ist eine Schnittstelle zwischen einem HTTP-Server und ausführbaren Programmen.

Mehr

Oracle: Abstrakte Datentypen:

Oracle: Abstrakte Datentypen: Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8

Mehr