Anfänger Frage

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
gugugs
User
Beiträge: 113
Registriert: Dienstag 30. Dezember 2008, 12:38

Ich habe bis jetzt nur viel mit MYSQL im zusammenhang mit PHP zu tun gehabt. Jetzt habe ich schon viel gelesen, dass es so etwas wie SQL auch für Python gibt. Aber ist das jetzt so, dass diese Datenbank jetzt auch im Inet ist oder irgendwo lokal installiert ist, oder gibt es auch eine Datenbank, die als ein paar Dateien bei der der Python Datei liegen kann, und die man dann auch ganz normal ansteuern kann?
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

gugugs hat geschrieben:ist das jetzt so, dass diese Datenbank jetzt auch im Inet ist oder irgendwo lokal installiert ist
Hallo gugugs!

Ich kann jetzt nicht auf alle deine Fragen eingehen. Nur mal so viel:
MySql ist ein Datenbankmanagementsystem. Dieses Datenbankmanagementsystem (DBMS) wird gerne bei Internetprovidern eingesetzt. Das ist der Grund, weshalb du es auch von PHP aus kennst. Das bedeutet nicht, dass es dieses DBMS nur für PHP gibt. Das bedeutet nur, dass du nur den Weg von PHP zu MySql kennst.

Man kann mit vielen Programmiersprachen auf MySql zugreifen. Natürlich auch mit Python. Eh klar! :-)

Es gibt neben MySql noch viele interessante (und auch bessere) Datenbankmanagementsysteme. Z.B. Microsoft SQL-Server, Oracle oder PostgreSQL.

Dann gibt es noch kleine Datenbanksysteme wie z.B. Access oder SQLite. Gleich wie mit PHP, gibt es natürlich auch die Möglichkeit, mit Python auf diese Datenbanksysteme zuzugreifen. Der Unterschied zwischen den großen Datenbankmanagementsystemen ist der, dass diese kleinen Datenbanken für den Desktopbereich gedacht sind. So mögen es diese kleinen Datenbanksysteme nicht gerne, wenn von mehreren Computern/Programmen aus gleichzeitig auf sie zugegriffen wird. Und die Berechtigungssysteme sind auch nicht gut oder oft auch gar nicht vorhanden. Dafür sind diese kleinen Datenbanksysteme superschnell. Ist ja klar, da viele Prüfungen wegfallen.

Die bekanntesten Schnittstellen zwischen Python und den Datenbank(management)systemen sind hier aufgelistet: http://www.python-forum.de/topic-6848.html

Um von Python aus auf MySQL http://dev.mysql.com/ zuzugreifen, empfehle ich mysql-python http://mysql-python.sourceforge.net/

Auf PostgreSQL http://www.postgresql.org/ greifst du am Besten mit psycopg2 http://initd.org/pub/software/psycopg/ zu.

Und als Desktopdatenbank nimmt man unter Python gerne SQLite http://www.sqlite.org/ auf welches man mit dem eingebauten Modul sqlite3 http://docs.python.org/library/sqlite3.html zugreift.

Weitere Links:

- http://wiki.python.org/moin/DatabaseProgramming
- http://www.python.org/dev/peps/pep-0249/
- http://wiki.python.org/moin/DbApiFaq
- http://wiki.python.org/moin/UsingDbApiWithPostgres

mfg
Gerold
:-)

PS: Interessante Links:

- http://www.python-forum.de/topic-6157.html
- http://www.python-forum.de/topic-11615.html
- http://www.python-forum.de/topic-12304.html
- http://www.python-forum.de/post-120010.html#120010
- http://www.python-forum.de/topic-12658.html

.
Zuletzt geändert von gerold am Freitag 2. Januar 2009, 17:30, insgesamt 1-mal geändert.
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
gugugs
User
Beiträge: 113
Registriert: Dienstag 30. Dezember 2008, 12:38

Vielen Dank schon mal...

1. Was ist der Unterschied zwischen PostgreSQL und MySQL?

2. Wird diese Datenbank auf dem pc installier und integriert sozusagen?
Oder gibt es auch eine Datenbank, die man mit der python Datei in einen Ordner schieben kann?

Also ich mein dass so, wenn ich z.B. ein Programm schreibe und ich dieses jemand schicken will, kann ich ihm dann die Datenbank als Dateien mitschicken? Oder ist diese Datenbank fest bei mir installiert sodass ich mit dieser nur bei mir auf dem System hantieren kann?

P.s.: Weis jemand vllt ein super Einstiegstutorial? vllt sogar deutsch?^^
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Hallo gugugs!
gugugs hat geschrieben:1. Was ist der Unterschied zwischen PostgreSQL und MySQL?
Das sind einfach nur zwei verschiedene Datenbankmanagementsysteme. Beide müssen auf dem Computer installiert werden. Das sind typische Client-Server-Datenbankmanagementsysteme. Mehrere verschiedene Benutzer können gleichzeitig darauf zugreifen. Die Zugriffsberechtigungen werden vom DBMS verwaltet.

Ob MySQL oder PostgreSQL ist eine Glaubensfrage. Ich glaube, dass PostgreSQL als Client-Server-DBMS besser ist. ;-)

gugugs hat geschrieben:2. Wird diese Datenbank auf dem pc installier und integriert sozusagen? Oder gibt es auch eine Datenbank, die man mit der python Datei in einen Ordner schieben kann?
Eine SQLite-Datenbank besteht nur aus einer Datei, die mit dem Programm verteilt werden kann. Der Zugriff auf die DB passiert über das Modul "sqlite3". Man muss nichts zusätzlich installieren.


mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
gugugs
User
Beiträge: 113
Registriert: Dienstag 30. Dezember 2008, 12:38

Cool Danke, das heist ich werde mir mal das SQLite genauer angucken, denn meine Vorhaben ist es, diese Datenbank, in Dateien zu haben, die mitgeschickt werden können.
Antworten