Datenbankinteraktion Beispiel
Verfasst: Freitag 3. Februar 2017, 11:19
Guten Tag, allerseits!
Ich arbeite mich gerade in Python ein, bin Autodidakt, also nix von wegen Mathe- und/oder Informatikstudium und in manchen Punkten ist die Lernkurve für mich sehr hoch.
Ich benutze Python 3.5 und PostgreSQL mit Psycopg2 als Anbindung. PyCharm ist meine Entwicklungsumgebung.
Folgendes Fragen habe ich:
1. Ich will eine Klasse schreiben, welche den Verbindungsaufbau und die Datenverarbeitung verwaltet. Ich suche dafür ein Beispiel, dass ich mir zur Vorlage nehmen kann -> hat jemand eine Webadresse wo ich derartige Beispiele finden kann bzw. kann mir jemand ein Beispiel posten?
2. Ich verstehe die Verarbeitung folgender SQL-Anweisung nicht:
cur.execute('CREATE TABLE IF NOT EXISTS "test_db" (id serial PRIMARY KEY, firstname varchar, surname varchar);')
Es geht um die Anführungszeichen. Ich bekomme eine Fehlermeldung, wenn ich die gesamte Anweisung in doppelte Anführungszeichen setze und test_db in einfache Anführungszeichen. Welche Regel bestimmt das? Sonst ist es in Python doch egal, ob ich zuerst einfache und dann doppelte Anführungszeichen nutze, oder?
cur.execute('INSERT INTO \'test_db\' (firstname, surname) VALUES (\'Paul\', \'Meyer\');')
In diesem Fall ist ein ähnliches Problem. Während Python die maskierten einfachen Anführungszeichen der Werte anstandslos verarbeitet, wirft das Programm für die maskierten einfachen Anführungszeichen des Tabellennames wieder eine Fehlermeldung aus, während es doppelte Anführungsstriche anstandslos verarbeitet. Woran liegt das?
Ich arbeite mich gerade in Python ein, bin Autodidakt, also nix von wegen Mathe- und/oder Informatikstudium und in manchen Punkten ist die Lernkurve für mich sehr hoch.
Ich benutze Python 3.5 und PostgreSQL mit Psycopg2 als Anbindung. PyCharm ist meine Entwicklungsumgebung.
Folgendes Fragen habe ich:
1. Ich will eine Klasse schreiben, welche den Verbindungsaufbau und die Datenverarbeitung verwaltet. Ich suche dafür ein Beispiel, dass ich mir zur Vorlage nehmen kann -> hat jemand eine Webadresse wo ich derartige Beispiele finden kann bzw. kann mir jemand ein Beispiel posten?
2. Ich verstehe die Verarbeitung folgender SQL-Anweisung nicht:
cur.execute('CREATE TABLE IF NOT EXISTS "test_db" (id serial PRIMARY KEY, firstname varchar, surname varchar);')
Es geht um die Anführungszeichen. Ich bekomme eine Fehlermeldung, wenn ich die gesamte Anweisung in doppelte Anführungszeichen setze und test_db in einfache Anführungszeichen. Welche Regel bestimmt das? Sonst ist es in Python doch egal, ob ich zuerst einfache und dann doppelte Anführungszeichen nutze, oder?
cur.execute('INSERT INTO \'test_db\' (firstname, surname) VALUES (\'Paul\', \'Meyer\');')
In diesem Fall ist ein ähnliches Problem. Während Python die maskierten einfachen Anführungszeichen der Werte anstandslos verarbeitet, wirft das Programm für die maskierten einfachen Anführungszeichen des Tabellennames wieder eine Fehlermeldung aus, während es doppelte Anführungsstriche anstandslos verarbeitet. Woran liegt das?