Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Python 3 Grundkurs

Daten in Datenbank speichern

Testen Sie unsere 2017 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Eine Programmiersprache speichert umfangreiche Datenmengen in einer Datenbank. Python wickelt dies über ein eigenes Datenbank-Management-System ab.

Transkript

In dieser Lektion geht es um Datenbankzugriffe. das heißt, wir schauen uns an, wie man mit Python in Datenbanken reinschreibt, oder Datenbanken auch ausliest. Wenn man professionelle Anwendungen schreibt, handelt es sich meistens um große Datenmengen. Solche Daten werden in der Regel logisch in einzelnen Tabellen gruppiert, damit sich manche Daten nicht doppelt und dreifach wiederholen. Weil die Tabellen dann untereinander in eine Beziehung gesetzt werden müssen, spricht man von relationalen Datenbanken. Um die relationalen Datenbanken dann verwalten zu können, benötigt man ein RDBMS, das heißt ein Relationales Datenbank Management System zur Verwaltung, wie beispielsweise Oracle oder MySQL, das sind die bekanntesten. Python bietet ein eigenes RDBMS mit dem Namen SQLite3 an. das implizit bereits in der Standard-Installation enthalten ist. Das schauen wir uns jetzt mal an, Und zwar öffne ich eine neue Datei, und werde jetzt hier drin mal ein Modul importieren, was sich auch sqlite3 nennt, und hiermit können wir dann direkt mit der eingebauten SQLite3 Datenbank arbeiten. Als allererstes werden wir eine Verbindung zu einer Datenbank erzeugen, jetzt muss ich den Namen der Datenbank angeben, bmi.db nenne ich die mal beispielhaft, ganz willkürlich, und es ist ja so, dass diese bmi.db ja noch gar nicht existiert, aber connect, das ist eine Verbindung zur Datenbank erstellen soll, merkt das und erstellt kurzum die Datenbank gleich vorher, da brauchen wir uns also gar nicht drum kümmern, connect wird uns einen Rückgabewert liefern, vom Typ connection. Ich werde den Rückgabewert mal hier auffangen, in einer Variablen, die ich connection nenne, und über connection können wir jetzt - einen cursor holen, das ist sozusagen ein Zeiger, mit dem wir dann in der Datenbank arbeiten können, und diese Methode liefert uns also ein Objekt vom Typ cursor, auch diese Variable nenne ich wieder cursor, und jetzt kann ich loslegen, und die Datenbank erzeugen, und zwar mit SQL. Ich gehe mal davon, dass Sie die Structured Query Language (SQL) bereits kennen, sehr komplex wird es hier sowieso nicht werden, und zwar werde ich SQL jetzt einsetzen, das SQL muss ich allerdings in 3 Hochkommata einbetten, So - und hier kann ich jetzt reinschreiben, CREATE TABLE dann muss der Name der Tabelle geritzt werden, ja, und wie nennen wir die? Hierfür werde ich mal unser BMI-Programm bemühen, unser BMI-Modul und dann sehen Sie, dass wir hier eine Klasse Benutzer und eine Klasse Bmirechner haben. Normalerweise würde man jetzt dies als Modell sehen, und dann eine Tabelle erzeugen, die sich Benutzer nennt, und eine Tabelle erzeugen, die sich Bmirechner nennt. dann hier jeweils Primärschlüssel reinfügen, und dann über Fremdschlüssel eine Beziehung setzen. zwischen den Tabellen, eine Assoziation. Darauf werden wir aber verzichten, weil wir es hier ganz einfach halten werden, ich werde jetzt einfach mal eine Tabelle erzeugen, die sich Bmirechner nennt, und bei der wir dann den Namen mit den BMI-Werten abspeichern können, und dann wieder auslesen können, also schreibe ich jetzt hier einfach rein: Bmirechner und dann brauche ich zwei Spaltenfelder, wir hatten gesagt, das ist der Name des Benutzers und seine BMI-Werte. Ich benenne die Spalte mal main das ist ja ein String, ein String ist bei SQLite3 ein Datentyp des Namens TEXT dann kommt der zweite Spaltenname, das ist dann bmi, und ein bmi ist ein flow, also eine Kommazahl, und bei SQLite3 wäre das dann das Pendant, ein real. So, das wars schon, danach ist die Tabelle erzeugt, Jetzt werden wir noch dafür sorgen, dass ein Datensatz in die Tabelle reinkommt, und zwar über cursor execute und dann wieder über SQL jetzt schreibe ich rein INSERT INTO und jetzt muss ich Tabellennamen Bmirechner reinschreiben, dann folgt ja VALUES und hier müßten dann die Werte rein, so, kommasepariert, könnte ich jetzt reinschreiben, ALEX und dann irgendwas, und ein BMI-Wert. Jetzt ist es so, dass, wenn ich das so jetzt rüberschicke, das unsicher wäre, ein SQL, das über die Netzwerkleitung geht, wäre - , man könnte sich injecten, und - wär gefährlich bei Hackern, deswegen werde ich Ihnen direkt zeigen, wie man es anders macht, Ich setze hier ein Fragezeichen rein, dadurch haben wir hier ein sogenanntes prepared statement, jetzt muss ich noch dafür sorgen, dass dort dann die Werte reinkommen, kann ich so reinfügen, und zwar schreibe ich jetzt hier ALEX und dann 22.34, beispielsweise. Dann hätten wir hiermit einen Datensatz eingefügt. ich kann jetzt hier nochmal einen zweiten - Datensatz hinzufügen, und einen dritten, und - jetzt werde ich das Ganze auch noch mal auslesen, und zwar geht das auch wieder mit cursor.execute, und dann wieder 3 Hochkommata und - SELECTname,bmiFROMBmirechner So, jetzt haben wir den SELECT an die Datenbank geschickt, und jetzt wollen wir die Daten einsammeln, das geht über - FETCH ALL, also cursor.fetchall und das wird uns ein Objekt liefern, dass wir hier mal rows nennen werden, und ich werde jetzt rows einfach mal ausgeben, und zuletzt werde ich die connection auch noch schließen, und jetzt schauen wir uns mal an, ob das hier funktioniert. So - RUN RUN MODULE dann müssen wir die Datei noch abspeichern, So, und jetzt sehen Sie, dass das Ergebnis hier genauso aussieht, wie wir es eigentlich erwartet haben, und zwar werden die rows zurückgeliefert, und das sind die drei Datensätze, die wir in die Tabelle reingeschrieben hatten.

Python 3 Grundkurs

Lernen Sie die Entwicklungsumgebung sowie die grundlegenden Konzepte von Python kennen und schreiben Sie schon bald eigene Anwendungen.

4 Std. 33 min (49 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:26.03.2015

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!