If you're seeing this message, it means we're having trouble loading external resources on our website.

Wenn du hinter einem Webfilter bist, stelle sicher, dass die Domänen *. kastatic.org und *. kasandbox.org nicht blockiert sind.

Hauptinhalt

Mit SQL eine Datenbank aktualisieren

Wie wir schon mehrfach in diesem Tutorial erwähnt haben, kommen wir oft in die Situation, dass wir SQL oder SQL-ähnliche Sprachen für Datenbanken benutzen. Manchmal wollen wir nur Daten lesen und manchmal sowohl lesen wie auch schreiben.
Ein Beispiel einer "Leseoperation" ist eine Datenanalyse auf einer Kopie der Daten einer App oder einer wissenschaftlichen Untersuchung. Wenn ich zum Beispiel ein Data Scientist wäre, der für ein elektronisches Trainingslogbuch arbeitet, könnte ich z. B. untersuchen, wie viele Prozent der Benutzer nach ihrem Lauftraining ein Eis essen. Somit kann ich herausfinden, wie viele Leute sich nach dem Training eine Belohnung gönnen.
SELECT * FROM diary_logs WHERE
       food LIKE "%ice cream%" AND activity LIKE "%running%";
Wenn ich eine Datenanlyse wie diese durchführe, dann führe ich eigentlich nur SELECT-Operationen durch - also Leseoperationen. Wir erstellen keine neuen Daten, sondern fragen nur bestehende Daten ab. Wir müssen uns zwar sehr gut mit SELECT-Abfragen auskennen, dafür müssen wir nicht wissen, wie man Tabellen erstellt und Datensätze aktualisiert.
Ein Beispiel für "Lese-/Schreiboperationen" ist ein Software-Ingenieur, welcher das Backend für eine Webapp erstellt. Wenn ich als Software-Ingenieur am Trainingslogbuch arbiete, könnte ich zum Beispiel Code schreiben, der weiß, wie man jedes Mal, wenn ein Benutzer ein Formular ausfüllt, einen neuen Eintrag in der Datenbank einfügt:
INSERT INTO diary_logs (id, food, activity)
            VALUES (123, "ice cream", "running");
Diesen SQL-Befehl würde ich wohl aus einer Programmiersprache auf einem Server abschicken und dabei wahrscheinlich eine Bibliothek verwenden, welche das Erstellen dieser Befehle vereinfacht. Mit Python und der Bibliothek SQLAlchemy würde dies z. B. so aussehen:
diary_logs.insert().values(id=123, food="ice cream", activity='running')
Ebenfalls müsste ich SQL-Befehle schreiben, wenn der Benutzer einen Eintrag verändern, löschen oder sogar seinen Benutzeraccount komplett löschen möchte. Wenn sich das Team entscheidet, ein neues Feature wie z. B. ein Smiley als Hinweis, wie glücklich die Benutzer beim Laufen und Eis schlecken sind, hinzuzufügen, dann müsste ich ein SQL-Statement schreiben, um das Tabellenschema zu erweitern.
Dies sind alles "Schreib-Operationen". Sie sind notwendig, wenn wir eine Datenbank zum Speichern und Aktualisieren von Daten für eine App verwenden. INSERT ist eine relativ sichere Operation, da sie nur Daten hinzufügt. Aber die Operationen UPDATE, DELETE, DROP und ALTER können unter Umständen sehr gefährlich sein, da sie bestehende Daten verändern. Daher ist es sehr wichtig, diese Operationen gut zu verstehen und sie sehr vorsichtig zu verwenden. Beginne nun das nächste Tutorial, um diese zu lernen!

Willst du an der Diskussion teilnehmen?

  • blobby green style-Avatar für Benutzer Louie Hesse
    Ich brauche Hilfe in der Aufgabe "dynamische Dokumente" Der erste Schritt ist gut gegangen, aber der zweite Schritt wirkt nicht. Ich schreibe "DELETE FROM documents WHERE title = "Things I'm Afraid Of";" und es schreibt "Hoppla, Du musst erst den vorherigen Schritt richtig machen!".
    Vielen dank für jede Hilfe.
    (1 Bewertung)
    Default Khan Academy avatar-Avatar für Benutzer
Verstehst du Englisch? Klick hier, um weitere Diskussionen auf der englischen Khan Academy Seite zu sehen.