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

Ähnliche Dokumente
SQL,Teil 2: SELECT. W. Spiegel. Übersicht SELECT. Mehrfache Werte vermeiden: SELECT DISTINCT. Ausgabe ordnen: ORDER BY. Projektion.

SQL,Teil 3: Unterabfragen, Views & Berechnungen

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Folien php/mysql Kurs der Informatikdienste

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DB-Datenbanksysteme. DB SQL-DML 1 Mario Neugebauer

Datenbank und Tabelle mit SQL erstellen

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

Labor 3 - Datenbank mit MySQL

Üben von DDL und DML. Ergebnis:

Oracle 10g Einführung

Datenbanken im WI-Unterricht mit

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

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

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

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

Es geht also im die SQL Data Manipulation Language.

Übersicht der wichtigsten MySQL-Befehle

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

Übung ERM. Beispiel: Erstellung einer relationalen Datenbank

Datenbanken. Seminararbeit. Einführung in das wissenschaftliche Arbeiten

Praktische SQL-Befehle

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

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

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

Relationales Datenbanksystem Oracle

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL

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

Metadaten oder Metainformationen sind Daten, die Informationen über Merkmale anderer Daten enthalten, aber nicht diese Daten selbst (Wikipedia)

Abfragen (Queries, Subqueries)

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

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

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

Probeklausur mit Musterlösung

Übung PL/SQL Trigger Lösungen

Die Anweisung create table

Microsoft Access 2010 SQL nutzen

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

Erstellen und Verwalten von Tabellen

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

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

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

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

Abfragen mit Platzhaltern

SQL structured query language

5.3 Datenänderung/-zugriff mit SQL (DML)

Einführung SQL Data Definition Language (DDL)

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15

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

Visualisierung in Informatik und Naturwissenschaften

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

3.3. Implementierung in SQL DDL-Grundlagen Constraint-Verzögerung Implementierungs-Strategien

Datenbanken. Zusammenfassung. Datenbanksysteme

Datenbanken Kapitel 1

Datenbanksysteme 2013

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

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

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

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

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

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

Übersicht über Datenbanken

Relationale Datenbanken in der Praxis

IV. Datenbankmanagement

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

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

Finalklausur zur Vorlesung Datenbanksysteme I Wintersemester 2003/2004 Prüfer: Prof. R. Bayer, Ph.D. Datum: Zeit: 16.

5.8 Bibliotheken für PostgreSQL

Wiederholung VU Datenmodellierung

Grundlagen von Datenbanken

Sructred Query Language

Wiederholung VU Datenmodellierung

SQL: Weitere Funktionen

DB1. DB SQL-DQL 1 Mario Neugebauer

SQL. Automatisierung: Trigger

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Grundlagen von Datenbanken. Referentielle Aktionen, Sichten, Serialisierbarkeit und Locking

SQL-Befehlsliste. Vereinbarung über die Schreibweise

Kapitel 9. Embedded SQL. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1

Übung Datenbanksysteme Updates, Integritätsbedingungen, funktionale Abhängigkeiten

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

Eine neue Datenbank erstellen

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

Datenmanagement I SoSe 2006 Aufgabenblatt 4

dbis Praktikum DBS I SQL Teil 2

12. Datenschutz: Zugriffsrechte in SQL Datenschutz: Zugriffsrechte in SQL

Transkript:

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 nachträglich verändern: UPDATE Daten löschen: DELETE Beispiel Aufgaben 1

DDL & DML DDL steht für Data Definition Language, das ist der Sprachteil von SQL, der zur Definition der Datenbank gedacht ist. Zur Datenmanipulation benutzt man den zweiten Teil der Befehle von SQL (deshalb DML : Data Manipulation Language), hierzu gehört vor allem die SELECT -Anweisung. Da wir erst mal eine Datenbank benötigen, fangen wir mit dem DDL-Teil an: Relationen definieren: CREATE Zuerst müssen wir in gfsqlite eine neue Datenbank ins Leben rufen: Gehe im Menü über Datenbank Neue Datenbank erstellen, es öffnet sich folgendes Fenster: 2

Wurde die Datenbank erfolgreich erstellt, so antwortet gfsqlite: und öffnet die Datenbank: gfplus 1.1 -- Interaktive SQL shell Monday November 17, 2003 08:59 PM Benutze Datenbank "prowo.db" pysql> An dieser Stelle mein Tipp : benutze als Endung für sqlite-datenbanken die Endung *.db, im Beispiel oben: prowo.db Was jetzt noch fehlt sind Relationen (sprich: Tabellen), also vereinbaren wir welche mit CREATE: pysql> CREATE TABLE sar_lehrer (lehrernr integer primary key, name varchar(20), vorname varchar(20), typ varchar(10), prowonr integer); pysql> CREATE TABLE sar_schueler (schuelernr integer primary key, name varchar(20), vorname varchar(20), Klasse varchar(5), Geschlecht varchar(1)); Allgemein: CREATE TABLE tabellenname (spalte1 typ, spalte2 typ, spalte3 typ); Groß- oder Kleinschreibung kümmert gfsqlite nicht, es ist aber üblich, die SQL-Schlüsselwörter GROß zu schreiben, also CREATE statt create. 3

Mit dem Punkt Tabellen zeigen können wir unsere bisherige Arbeit kontrollieren: PS: Das Fenster ist kontextsensitiv und liefert auch eine Spalten! Übersicht der soeben vereinbarten Primärschlüssel setzen mit primary key Wähle im Menü Datenbank den Punkt Struktur einer Tabelle zeigen und suche dir eine Tabelle aus, z. B. die Tabelle sar projekt: pysql> CREATE TABLE sar_projekt (prowonr integer primary key, Thema varchar(30), Stufe varchar(15), Anzahl integer, Raumbedarf varchar(15), SCHULGERAETE varchar(20)) Wichtig ist die Eigenschaft prowonr, unser Primärschlüssel! Wird jetzt eine Projektnummer doppelt vergeben, so zeigt gfsqlite eine Fehlermeldung im unteren Fenster an: SQL Fehler bei der Ausführung des Befehls: INSERT INTO sar_projekt... Tabellen löschen: DROP Mit dem Befehl DROP kann man Tabellen löschen, Beispiel: pysql> DROP TABLE sar_schueler; In gfsqlite gibt es KEINE Möglichkeit, die Struktur einer einmal definierten Tabelle im nachhinein zu verändern! Hat man also bei der Vereinbarung der Tabelle einen Väler (?!?) gemacht, so muss die Tabelle leider gelöscht werden. 4

VORSICHT: Nicht nur die Tabelle ist danach gelöscht, auch sämtliche Daten sind danach weg!! Deshalb hier mein Ratschlag: speichere deine Sitzung über den Punkt Datei Sitzung speichern als... als Textdatei ab (bitte die Endung *.txt nicht vergessen!) Daten speichern: INSERT Was wäre eine Tabelle ohne Daten? Also sorgen wir für etwas Information: pysql> INSERT INTO sar_lehrer (lehrernr, name,vorname,typ,prowonr) VALUES (1, Spiegel, Walter, Lehrer,1); pysql> INSERT INTO sar_lehrer (lehrernr, name,vorname,typ,prowonr) VALUES (2, Hilbert, David, Lehrer,2); Statt der Langform geht es auch kürzer: pysql> INSERT INTO sar_lehrer VALUES (5, Hegel, G., Lehrer,1); Aber: Die Reihenfolge der einzelnen Daten eines Datensatzes muss streng eingehalten! Hier also zuerst die lehrernr, dann der Name, und so weiter. PS: Einen ersten Überblick verschafft der Befehl pysql> SELECT * FROM sar_lehrer; allgemein: pysql> SELECT * FROM <tabellen_name>; Daten nachträglich verändern: UPDATE Hat man sich bei der Eingabe vertan, oder muss man nachträglich Daten ändern, so benutzt man UPDATE: 5

pysql> UPDATE sar_lehrer SET vorname = Georg Man kann damit in gfsqlite immer nur ein Attribut ändern, der folgende Befehl geht also schief : pysql> UPDATE sar_lehrer SET Typ = Schueler, SET Prowonr = 3 Statt dessen müssen zwei UPDATE-Befehle eingegeben werden! KORREKT: pysql> UPDATE sar_lehrer SET Typ = Schueler pysql> UPDATE sar_lehrer SET Prowonr = 3 ERGEBNIS: lehrernr name vorname typ prowonr ====================================================== 1 Spiegel Walter Lehrer 1 2 Hilbert David Lehrer 2 5 Hegel Georg Schueler 3 Daten löschen: DELETE Mit DELETE kann man einzelne Datensätzte wieder löschen, Beispiel: pysql> DELETE FROM sar_lehrer WHERE name = Hegel ; 6

An dieser Stelle noch einmal der freundliche Hinweis: Speichert eure Sitzungen ab, ihr spart wirklich Zeit! Beispiel Die Beispiel-Datenbank prowo.zip ins eigene Verzeichnis kopieren! Der Datenbanken-Reader ist diesmal leider keine Hilfe, schau dafür mal hier: http://www.highcroft.com/highcroft/sql intro.pdf (DER SQL-Tutor, auf Englisch; wird demnächst lokal gespiegelt!), ganz nett ist auch: http://www.oszhdl.be.schule.de/gymnasium/faecher/informatik/datenbanken/ das Material zu SQL ist aber leider nur auf die SELECT-Anweisung begrenzt (den lernen wir das nächste Mal kennen) Aufgaben 1. Kopiere die prowo-datenbank prowo.zip in dein Verzeichnis (siehe oben)! 2. Erweitere die Datenbanken um einige Datensätzte: Projektleiter, Schüler, Projekte oder einfach ein paar Wahlen (INSERT). Anzeigen einer Tabelle geht so: SELECT * FROM sar lehrer; 3. Jetzt wird es Zeit für die Korrektur der Datensätzte aus Aufgabe 2: wir sammlen Erfahrungen mit UPDATE. 4. Die Krönung: wir löschen Daten(sätze) (DELETE). Denke bitte an das Abspeichern von Sitzungen! gfsqlite kann Sitzungen importieren und brav Befehl für Befehl abarbeiten. 5. Meine Projektwahl ist voller Vähler: Zeit für das Löschen der Tabelle sar wahl (DROP). Erstelle dann mit Hilfe von CREATE deine eigene Wahl-Tabelle sar wahl und ergänze sie um ein einige Datensätzte. Ausgabe: SELECT * FROM sar wahl; 6. Probiere auch die History-Funktion: <F5> Vorheriger Befehl, <F6> Nächster Befehl. 7. Wer zwischenzeitlich seine Sitzung abspeichert, hat mehr vom Leben! 8. Noch Zeit? Dann setze deinen Entwurf in Tabellen um. 9. Hausaufgabe: Mache dir ernsthafte Gedanken um die Modellierung deiner Miniwelt! W. Spiegel, E-Mail: walter.spiegel@web.de 7