SQLite3 - Probleme

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
akhof
User
Beiträge: 104
Registriert: Mittwoch 11. Mai 2011, 19:07
Kontaktdaten:

Hi Leute!
Meine Frage hört sich ein bisschen dumm an, aber leider konnte ich nichts dazu finden...
NaJa... Ich arbeite gerade an einem Vokabel-Programm, und würde als Datenbank gerne SQLite3 nehmen. Ich habe einige "Vorversuche" gemacht, und bin soweit geckommen, damm man belibige Felder auslesen kann. Nun arbeite ich daran, dass man Felder hinzufügen und verändern kann. Ich habe leider keine Idee, wie man das anstellen soll. Ich habe mir schon viele Dokumentationen zu diesem Thema angeguckt, bin aber nicht wirklich fündig geworden. Natürlich habe ich Beispiele gefunden, die aber leider nicht wirklich geholfen haben.
Deswegen habe ich beschlossen, mein Glück hier zu versuchen!
Ich haffe mir kann jemand helfen...
Danke schonmal im Vorraus!

akhof :D :D :D

[url=htp://arne.hobby-site.org]Meine Webseite[/url]
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Die Struktur Deiner Tabellen zur Laufzeit zu ändern ist meistens keine gute Idee, sondern Indiz für einen Designfehler. Du müßtest da evtl. mal mehr Infos dazu geben und uns die Struktur der Tabellen posten (create-Statements oder auch gerne ein ER-Diagramm) und erklären, was Du da genau vor hast.

Das ist per se auch kein Python-Problem, sondern ein SQL-Problem. Du musst Dir halt den `alter table`-Befehl von SQL angucken. Damit kannst Du Attribute umbenennen, hinzufügen, löschen, usw.

Ich würde das aber niemals im Python-Script selber durchführen - außer ich will einen SQLEditor schreiben; aber davon gibt es ein Glück viele gute :-D

Ich würde Dir mal SQLiteMan (Stand alone Applikation) oder den SQLiteManager (Firefox-Plugin) zur Erstellung und Manipulation von SQLite-DBs empfehlen.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
BlackJack

@akhof: Falls ich die Frage richtig verstehe und Du mit Feldern eigentlich Spalten in Tabellen meinst: Die Tabellenstruktur sollte man nicht ändern. Wenn Dein Programm Spalten zu Tabellen hinzufügen möchte, liegt in aller Regel ein Entwurfsfehler zugrunde. Ähnliches gilt für das "dynamische" Anlegen von Tabellen -- das macht man auch nicht. Namen und Anzahl von Tabellen, sowie deren Spalten legt man bei der Planung des Programms fest und ändert daran im normalen Programmablauf auch nichts.
akhof
User
Beiträge: 104
Registriert: Mittwoch 11. Mai 2011, 19:07
Kontaktdaten:

Hi!

Ich meinnte nicht Felder, sondern Zeilen!

Danke erstmal für die schnellen Antworten! :D
Ich habe vor z.B. Vokabeln in dieser Datenbank zu speichern. Ich benutze bereits den Firefox SQLite-Verwalter, um die Datenbanken zu erstellen, jedoch muss ich diese sehr oft bearbeiten.
Was noch dazu kommt, ist, dass ich mich nicht richtig gut mit Datenbanken auskenne, und bisher auch nicht wusste, dass das Ändern der Spalten keine gute Idee ist!

Viele Grüße
akhof :D :D :D
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

willst du wirklich _Felder_ oder doch eher _Feldinhalte_ ändern?

Für ersteres fällt mir bei einem Vokabelprogramm kein vernünftiger noch unvernünftiger Grund ein. Letztes ist ja einfach.

Gruß, noisefloor
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

akhof hat geschrieben:NaJa... Ich arbeite gerade an einem Vokabel-Programm, und würde als Datenbank gerne SQLite3 nehmen. Ich habe einige "Vorversuche" gemacht, und bin soweit geckommen, damm man belibige Felder auslesen kann. Nun arbeite ich daran, dass man Felder hinzufügen und verändern kann. Ich habe leider keine Idee, wie man das anstellen soll.
Nachdem wir inzwischen die Semantik klargestellt haben reden wir also wohl davon, dass du nicht die Felder (also die Struktur der Daten in der Datenbank), sondern die Daten selber verändern möchtest. Hierbei spricht man auch von CRUD.

Da du mit einer SQL-Datenbank arbeitest solltest du dir folglich entsprechende Kenntnisse in SQL aneignen.
akhof
User
Beiträge: 104
Registriert: Mittwoch 11. Mai 2011, 19:07
Kontaktdaten:

Hi!
Ich habe mich falsch ausgedrückt: ich wollte die Inhalte bestimmter Spalten bearbeiten und löschen. Wie gesagt: ich bin ein Datenbank-Anfänger!
Vielen Danke für Eure Hilfe!

akhof :D :D :D
Antworten