SQL Grundkurs 2: Aufgaben und Lösungen

Beispiel 1: Neue Werte einfügen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Fügen Sie drei weitere Interessensgebiete Radfahren, Schwimmen und Malerei in die entsprechende Tabelle ein und geben Sie dabei die Zielspalten an. Vergeben Sie für Radfahren das Kürzel RAD, für Schwimmen SWI und geben Sie der Malerei das Kürzel MAL.

Transkript

Wenden wir uns nun der Data Manipulation Language zu. Im ersten Beispiel sollen Sie drei weitere Datensätze in die Tabelle "INTERESSEN" einfügen. Die Tabelle "INTERESSEN" enthält momentan sechs Einträge. von "HUG", Haus und Garten, bis hin zu "BAU", Werk- und Baustoffe. Die Tabelle, wie Sie hier sehen, hat zwei Spalten, den Interessenscode "INTCODE" Und die Bezeichnung des Interesses in der Spalte "TEXT". Fügen Sie die drei Interessen, Radfahren, Schwimmen und Malerei ein und vergeben Sie für diese die Kürzel "RAD", "SWI" und "MAL". Achten Sie vor allem darauf, dass die Eingabe am Ende durch einen Abschluss der Transaktion festgeschrieben wird Pausieren Sie nun das Video und lösen Sie die Aufgabe. Wenn Sie damit fertig sind, fahren Sie mit dem Video fort und sehen Sie sich meine Musterlösung an. Betrachten wir uns nun die Lösung. Da Oracle automatisch Transaktionen mit der jeweils ersten Anweisung startet, muss diese nicht extra von uns gestartet werden. Mit der Anweisung INSERT INTO, gefolgt vom Namen der Tabelle, fügen wir die Spalten ein. Sinnvollerweise geben wir die Zielspalten mit an. Das ist die sichere Methode, vor allem, wenn Sie die Anweisungen später z. B. im Programmcode einbauen. Die Reihenfolge der Spalten spielt hier keine Rolle. Wichtig ist ja nur, dass in der VALUES-Klausel, mit der Sie die Werte bereitstellen, Sie sich an diese Reihenfolge halten. "RAD" wird in dem "INTCODE", "Radfahren" in die Spalte "TEXT" eingefügt. Ich führe nun diese erste Insert-Anweisung aus, und ich bekomme auch die Meldung dass eine Zeile eingefügt worden ist und ich kontrolliere das Ergebnis. Und wir sehen, dass die Spalte entsprechend angekommen ist. Nun fügen wir noch die weiteren Einträge ein, "Schwimmen" und "Malerei". Und wieder kontrollieren wir das Ergebnis. Momentan sehen wir die Änderungen nur in unserer Session. Für alle anderen Benutzer sind diese neuen Einträge noch nicht sichtbar. Erst mit einem COMMIT wird die Änderung festgeschrieben. Ich zeige nun vorweg noch, was passiert, wenn ich mit einem ROLLBACK das Ganze rückgängig mache. Ich bekomme die Meldung "Rollback abgeschlossen." und die Kontrolle zeigt, dass die soeben eingefügten Datensätze wieder verschwunden sind. Ich führe die drei Anweisungen daher noch einmal aus, um den Vorgang zu wiederholen. Und diesmal bestätige ich den Abschluss mit einem COMMIT. "festgeschrieben." ist nun die Meldung, die uns der Editor ausgibt. Und nun sind die Änderungen, bzw. in dem Fall Einfügungen, nicht nur für uns, sondern auch für alle anderen Benutzer sichtbar. Unter MySQL werden wir die selbe Lösung vorfinden. Auch hier haben wir vorweg diese sechs Datensätze. Achten Sie darauf, falls Sie die Änderung später rückgängig machen möchten, dass der Auto-Commit-Mode im Editor ausgeschaltet ist. Standardmäßig ist er aktiviert, das würde bedeuten, dass nach dem Einfügen sofort festgeschrieben wird, d. h. Sie könnten den Vorgang nicht mehr rückgängig machen. Wenn Sie das selber in der Hand haben möchten, ob Sie committen oder zurückrollen, dann sollten Sie hier auf dieses Symbol klicken und die Option damit deaktivieren. Auch hier die drei Anweisungen, um nun jeweils entsprechende Zeilen einzufügen. Haben wir den unteren Bereich ausgeblendet, sehen wir das Ergebnis natürlich nicht. In dem Fall, wenn ich ihn einblende, sehe ich "1 Zeile betroffen" als Meldung. Das gleiche kommt jetzt natürlich auch, wenn ich die zwei weiteren Anweisungen ausführe. Ich kontrolliere auch hier das Ergebnis und nun sind hier weitere Datensätze eingefügt. Und auch hier könnte ich mit einer ROLLBACK-Anweisung den ganzen Vorgang auch wieder rückgängig machen. Beim ROLLBACK dürfen wir uns hier nicht irritieren lassen, dass hier nur "0 rows affected" steht und nicht die Anzahl der Zeilen, die durch das zurückrollen wirklich wieder entfernt wurden. Aber die Kontrolle zeigt, das nun nurmehr die ursprünglichen Datensätze in der Tabelle enthalten sind. Wieder führe ich diese drei Anweisungen erneut aus und diesmal bestätige ich das Ganze mit einem COMMIT. Nun sind die Änderungen festgeschrieben und die neuen Datensätze sind für alle sichtbar in der Datenbank. Zum Abschluss schauen wir uns noch eine Besonderheit des Microsoft SQL Servers an. Auch hier haben wir die selbe Ausgangssituation. Standardmäßig verwendet der Microsoft SQL Server automatische Transaktionen, d. h. ein Einfügen einer Zeile würde sofort automatisch committed und damit festgeschrieben werden. Wenn wir hier also die Möglichkeit haben möchten, eventuell ein ROLLBACK zu verwenden, müssen wir eine explizite Transaktion mit der Anweisung BEGIN TRANSACTION starten. Wichtig ist, nicht nur in den Editor hinschreiben, sondern die Anweisung wirklich ausführen. Nun können wir diese drei Zeilen einfügen. Ich kann natürlich auch hier gleich zwei Anweisungen auf einmal markieren, und das Einfügen vornehmen. Die Kontrolle zeigt uns, dass diese neuen Datensätze nun hier in der Tabelle gelandet sind. Mit der Anweisung ROLLBACK oder ROLLBACK TRANSACTION ... beides ist möglich, aber das Schlüsselwort TRANSACTION muss nicht unbedingt ergänzt werden ... habe ich die Transaktion rückgängig gemacht. Und wir sehen, dass die drei Zeilen wieder verschwunden sind. Wie angekündigt, noch eine Besonderheit des Microsoft SQL Servers. Hier können in der VALUES-Klausel mehrere Werte angegeben werden, damit mit einer Anweisung auch gleichzeitig mehrere Zeilen eingefügt werden. Ich starte wieder eine Transaktion Und hier sehen wir nun eine INSERT-Anweisung, in der mit Komma getrennt, mehrere Datenblöcke in der VALUES-Klausel verwendet werden. Ich führe diese Gesamtanweisung nun aus, und bekomme auf einmal die Meldung, dass ich drei Zeilen eingefügt habe. Ich kontrolliere nochmal das Ergebnis und wir sehen, dass diese wirklich in der Datenbank gelandet sind. Zum Abschluss schreibe ich den Vorgang mit der Anweisung COMMIT fest. Auch hier könnte ich die Form COMMIT TRANSACTION verwenden, aber das Schlüsselwort TRANSACTION kann ich hier auch weglassen. Und nun, nachdem die Transaktion abgeschlossen ist, können alle anderen Sessions auch auf die neuen Daten zugreifen.

SQL Grundkurs 2: Aufgaben und Lösungen

Vertiefen Sie Ihre SQL-Kenntnisse. In diesem Workshop erhalten Sie zahlreiche Beispielaufgaben, die Sie selbst lösen können. Anschließend zeigt Ihnen der Trainer die Lösung.

7 Std. 41 min (61 Videos)
Derzeit sind keine Feedbacks vorhanden...

Dieses Training setzt SQL-Kenntnisse voraus, wie sie beispielsweise in „SQL lernen und anwenden“ vermittelt werden.

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!