faecher:informatik:oberstufe:datenbanken:sql_manipulationen:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:oberstufe:datenbanken:sql_manipulationen:start [20.10.2020 16:07] – [SQL – Manipulation von Daten] sbelfaecher:informatik:oberstufe:datenbanken:sql_manipulationen:start [21.10.2022 14:27] (aktuell) Frank Schiebel
Zeile 6: Zeile 6:
  
 Bei Verwendung der folgenden Syntax muss für jedes Attribut des Datensatzes ein wert angegeben werden, die Reihenfolge entspricht dabei der Struktur der Tabelle: Bei Verwendung der folgenden Syntax muss für jedes Attribut des Datensatzes ein wert angegeben werden, die Reihenfolge entspricht dabei der Struktur der Tabelle:
 +<code sql>
 +INSERT INTO tabelle VALUES('wert1','wert2',...)
 +</code>
 +Bei Verwendung dieser Syntax können die einzufügenden Attribute festgelegt werden. Das ist z.B. sinnvoll, wenn man Felder wie IDs hat, deren Wert automatisch vom DBMS gesetzt werden, wenn ein neuer Datensatz angefügt wird. Außerdem kann so die Reihenfolge der einzufügenden Werte selbst bestimmt werden.
  
-       INSERT INTO tabelle VALUES('wert1','wert2',...) +<code sql> 
- +INSERT INTO tabelle (column1, column2, column3, ...) VALUES (value1, value2, value3, ...) 
-Bei Verwendung dieser Syntax können die einzufügenden Attribute festgelegt werden. Das ist z.B. sinnvoll, wenn man Felder wie IDs hat, deren wert automatisch vom DBMS gesetzte werden, wenn ein neuer Datensatz angefügt wird. Außerdem kann so die reiehnfolge der einzufügenden Werte selbst bestimmt werden. +</code>
- +
-       INSERT INTO tabelle (column1, column2, column3, ...) VALUES (value1, value2, value3, ...)+
  
 Der **UPDATE**-Befehl ändert bestehende Datensätze: Der **UPDATE**-Befehl ändert bestehende Datensätze:
-       UPDATE tabelle SET spalte1='wert1', spalte2='wert2',... [WHERE bedingung]+<code sql> 
 +UPDATE tabelle SET spalte1='wert1', spalte2='wert2',... [WHERE bedingung] 
 +</code>
  
 Der **DELETE**-Befehl löscht bestehende Datensätze: Der **DELETE**-Befehl löscht bestehende Datensätze:
-       DELETE FROM tabelle [WHERE bedingung] 
  
-<WRAP center round important 80%>+<code sql> 
 +DELETE FROM tabelle [WHERE bedingung] 
 +</code> 
 + 
 +<WRAP center round important 90%>
 Vorsicht: Mit der "bedingungslosen" Anweisung  ''DELETE FROM tabelle'' wird die Tabelle komplett geleert! Vorsicht: Mit der "bedingungslosen" Anweisung  ''DELETE FROM tabelle'' wird die Tabelle komplett geleert!
 </WRAP> </WRAP>
Zeile 25: Zeile 32:
  
  
-===== Aufgabe 1 ===== 
  
-Löse die folgenden Aufgaben innerhalb der Datenbank ''webshop'', indem du ausschließlich das SQL-Abfragefenster verwendestSpeichere deine Lösungen in einer Textdatei (oder einer Joplin Notiz?)+---- 
 +{{:aufgabe.png?nolink  |}} 
 +=== (A1===
  
-(1) Das Buch "Die Informatikfibel" wurde in 90-facher Stückzahl angeliefertEs wird zum Preis von 24,99 Euro verkauftFüge den Artikel in die Datenbank ein.+Löse die folgenden Aufgaben innerhalb der Tabellen der Datenbank {{ :faecher:informatik:oberstufe:datenbanken:sql_abfrage:webshop.sql.zip |}}indem du ausschließlich das SQL-Abfragefenster verwendestSpeichere deine Lösungen in einer Textdatei (oder einer Joplin Notiz?)
  
-(2Setze die Bestände der Artikel mit den Nummern 100010 und 100011 auf Null.+(iDas Buch "Die Informatikfibel" wurde in 90-facher Stückzahl angeliefert. Es wird zum Preis von 24,99 Euro verkauft. Füge den Artikel in die Datenbank ein.
  
-(3Lösche alle Artikel, die ausverkauft sind.+(iiSetze die Bestände der Artikel mit den Nummern 100010 und 100011 auf Null.
  
-(4Verdopple Bestand des Artikels mit der Nummer 100009. +(iiiLösche alle Artikel, die ausverkauft sind.
- +
-(5) Erhöhe den Preis des Artikels mit der Nummer 100008 um 2 Euro und verringeren Sie seinen Bestand um 10 Stück. +
- +
-(6) Erhöhe die Preise aller Artikel um 1 Euro +
- +
-(7) Erhöhe die Preise aller Artikel um 10%. +
- +
- +
-===== Aufgabe 2: Exkurs „Tabellenstrukturen“ ===== +
- +
-Mit den Befehlen ''ALTER TABLE''''CREATE TABLE'' und ''DROP TABLE'' können Tabellen geändert, erstellt und gelöscht werden. Die Funktionsweise der Befehle kannst du  herausfinden, indem du die SQL-Ausgaben betrachtest, die phpMyAdmin anzeigt, nachdem du über die passenden Schaltflächen eine Tabelle geändert, erstellt oder gelöscht hast. +
- +
-Erstelle in deiner Datenbank zwei neue Tabellen mit dem Präfix  ''schule_'' und löse die folgenden Aufgaben mit diesen Tabellen, indem du ausschließlich das SQL-Abfragefenster verwendest. +
- +
-(1) Führedie beiden folgenden SQL-Befehle aus und erkläre jeweils ihre Funktion: +
- +
-<code sql> +
-  CREATE TABLE schule_Schueler ( +
-   SNr INT(5) PRIMARY KEY, +
-   Nachname VARCHAR(40), +
-   Vorname VARCHAR(30), +
-   Geburtsdatum DATE, +
-   StrasseNr VARCHAR(40), +
-   PLZ VARCHAR(7), +
-   Ort VARCHAR(40) +
-  ); +
-</code> +
-<code sql> +
-CREATE TABLE schule_Kurs ( +
- KursID VARCHAR(10) PRIMARY KEY, +
- Fach VARCHAR (5), +
- Thema VARCHAR (50), +
- Art ENUM('GK', 'LK'), +
- Halbjahr VARCHAR (10), +
- Stunden INT(1) +
-); +
-</code>+
  
-Hinweise: Der Datentyp ''ENUM'' ermöglicht die Speicherung bestimmter Werte aus einer Liste. Der Zusatz ''PRIMARY KEY'' gibt an, dass die entsprechende Spalte der bevorzugt zu verwendende Schlüssel ist.+(iv) Verdopple Bestand des Artikels mit der Nummer 100009.
  
-(2Entferne die Tabelle Schüler mithilfe des ''DROP''-Befehls.+(vErhöhe den Preis des Artikels mit der Nummer 100008 um 2 Euro und verringeren Sie seinen Bestand um 10 Stück.
  
-(3Füge eine Tabelle namens ''schule_Belegt'' mithilfe des ''CREATE''-Befehls hinzu, die die Notenpunktzahlen von Schülern in Kursen speichert.+(viErhöhe die Preise aller Artikel um 1 Euro
  
-(4Recherchiere das ''ALTER TABLE''-Statement und beschreibe mindestens drei Verwendungsmöglichkeiten.+(viiErhöhe die Preise aller Artikel um 10%.
  
-(5) Ermögliche mithilfe des ''ALTER TABLE''-Befehls auch die Speicherung sechsstelliger Schülernummern  in der Tabelle ''Schueler''. 
  
  • faecher/informatik/oberstufe/datenbanken/sql_manipulationen/start.1603202865.txt.gz
  • Zuletzt geändert: 20.10.2020 16:07
  • von sbel