Liste der bekannten Datenbankschnittstellen

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Liste der bekannten Datenbankschnittstellen

Beitragvon gerold » Donnerstag 10. August 2006, 08:46

Hi!

Um von Python aus auf eine Datenbank zugreifen zu können, braucht man normalerweise eine Zwischenschicht die sich um die Eigenheiten der jeweiligen Datenbank kümmert -- eine Schnittstelle also.

Es gibt viele solcher Schnittstellen zu den verschiedensten Datenbanken. Python ist damit also wunderbar geeignet, um mit Datenbanken zu arbeiten.

Hier ist eine Auflistung der bekannten Datenbanken und der zugehörigen Schnittstellen:

SQLite --> sqlite3
SQLite: http://www.sqlite.org/
sqlite3-Modul (ab Python 2.5) https://docs.python.org/2/library/sqlite3.html

PostgreSQL --> psycopg2
PostgreSQL: http://www.postgresql.org/
PostgreSQL (deutsch): http://www.postgres.de/
psycopg2: http://initd.org/tracker/psycopg/wiki/PsycopgTwo
psycopg2 (Windows Install): http://www.stickpeople.com/projects/pyt ... index.html

PostgreSQL --> py-postgresql
Für Python 3 geeignet. Reines Python oder mit optionaler C-Optimierung.
PostgreSQL: http://www.postgresql.org/
PostgreSQL (deutsch): http://www.postgres.de/
PostgresPy: http://python.projects.postgresql.org/

PostgreSQL --> PyGreSQL
PostgreSQL: http://www.postgresql.org/
PostgreSQL (deutsch): http://www.postgres.de/
PyGreSQL: http://www.pygresql.org/

PostgreSQL --> PoPy
PostgreSQL: http://www.postgresql.org/
PostgreSQL (deutsch): http://www.postgres.de/
PoPy: http://www.zope.org/Members/tm/PoPy
PoPy (SourceForge): http://sourceforge.net/projects/popy

PostgreSQL --> pg8000
Reine Python-Schnittstelle -- kein Binary notwendig.
Auch für Python 3!
PostgreSQL: http://www.postgresql.org/
PostgreSQL (deutsch): http://www.postgres.de/
gp8000: http://pybrary.net/pg8000/

PostgreSQL --> python-pgsql
PostgreSQL: http://www.postgresql.org/
PostgreSQL (deutsch): http://www.postgres.de/
python-pgsql: http://pypi.python.org/pypi/python-pgsql

PostgreSQL --> pg_proboscis
PostgreSQL: http://www.postgresql.org/
PostgreSQL (deutsch): http://www.postgres.de/
pg_proboscis:
- http://pypi.python.org/pypi/pg_proboscis/
- http://python.projects.postgresql.org/

PostgreSQL --> pyPgSQL
PostgreSQL: http://www.postgresql.org/
PostgreSQL (deutsch): http://www.postgres.de/
pyPgSQL: http://pypgsql.sourceforge.net/

MS SQL-Server --> pyMsSql:
MS SQL-Server: http://www.microsoft.com/sql/
MS SQL-Server (Wikipedia): http://de.wikipedia.org/wiki/MSSQL
pyMsSQL: http://pymssql.sourceforge.net/

Firebird / Interbase --> KInterbasDB
Firebird: http://firebirdsql.org
Interbase: http://www.interbase.com
kinterbasdb: http://kinterbasdb.sourceforge.net

Firebird --> pyfirebirdsql
Firebird: http://firebirdsql.org
pyfirebirdsql: http://github.com/nakagami/pyfirebirdsql/
pypi: http://pypi.python.org/pypi/firebirdsql/

ZODB (Zope Object Database) --> Python
ZODB: http://www.zope.org/Wikis/ZODB/FrontPage

MySQL --> mysql-python
MySQL: http://mysql.org/
mysql-python: http://sourceforge.net/projects/mysql-python/
mysql-python Website: http://mysql-python.sourceforge.net/
mysql-python DB-API-Users-Guide: http://mysql-python.sourceforge.net/MyS ... ml#mysqldb
mysql-python Präsentation: http://dustman.net/andy/python/python-and-mysql
Troubleshooting: [wiki]MySQLdb troubleshooting[/wiki]
mysql-python Windows Binaries: http://www.codegood.com/archives/4

MySQL --> oursql
MySQL: http://mysql.org/
oursql Launchpad: https://launchpad.net/oursql
oursql PyPi: http://pypi.python.org/pypi/oursql/
oursql Documentation: http://packages.python.org/oursql/

Gadfly --> Python
Gadfly: http://gadfly.sourceforge.net/gadfly.html

KirbyBase --> Python
KirbyBase: http://www.netpromi.com/kirbybase_python.html

Metakit --> Mk4py (Metakit for Python)
Metakit: http://www.equi4.com/metakit.html
Mk4py: http://www.equi4.com/metakit/python.html

PyTables --> Python
PyTables: http://www.pytables.org/

Verschiedenste Datenbanken --> ADOdb for Python
ADOdb for Python: http://phplens.com/lens/adodb/adodb-py-docs.htm

Verschiedenste Datenbanken --> Python DB-API 2.0 module for ADO
adodbapi: http://adodbapi.sourceforge.net/

ODBC (unixODBC API) --> PyODB
PyODB: http://sourceforge.net/projects/pyodb/

ODBC (Windows und Linux) --> pyodbc
pyodbc: http://code.google.com/p/pyodbc (ehemals: http://pyodbc.sourceforge.net/)
Beispiel mit Access als DB: http://www.python-forum.de/topic-12658.html

ODBC (Windows und Linux) --> ceODBC
ceODBC: http://ceodbc.sourceforge.net/

Oracle --> cx_Oracle
Oracle: http://www.oracle.com/lang/de/database/index.html
cx_Oracle: http://www.python.net/crew/atuining/cx_Oracle/

Durus --> Python
Durus: http://www.mems-exchange.org/software/durus/

SnakeSQL --> Python
SnakeSQL: http://www.pythonweb.org/projects/snakesql/index.html

IBM Informix --> InformixDB:
IBM Informix: http://www-306.ibm.com/software/data/informix/
InformixDB: http://informixdb.sourceforge.net/

IBM DB --> Python driver and DBI:
Python driver and DBI: http://pypi.python.org/pypi/ibm_db/

PyDbLite --> Python
PyDbLite: http://quentel.pierre.free.fr/PyDbLite/index.html

Schevo --> Python
Schevo: http://cheeseshop.python.org/pypi/Schevo

dbf (dBase, Foxpro, Clipper, ...) --> dbfpy
dbfpy: http://dbfpy.sourceforge.net/

Buzhug --> Python
Buzhug: http://buzhug.sourceforge.net/

CouchDB --> Json
CouchDB: http://couchdb.com/
Python library: http://pypi.python.org/pypi/CouchDB

Sybase --> python-sybase:
Sybase module for Python: http://python-sybase.sourceforge.net/

Filemaker --> fmkr.py:
Filemaker: http://www.filemaker.com/
Filemaker Modul für Python: http://www.lfd.uci.edu/~gohlke/code/fmkr.py.html

Filemaker --> PyFileMaker:
Filemaker: http://www.filemaker.com/
PyFileMaker: http://code.google.com/p/pyfilemaker/

Mongo --> pymongo
Mongo: http://www.mongodb.org/ (=document-oriented data store)
pymongo: http://github.com/mongodb/mongo-python-driver/
pymongo (pypi): http://pypi.python.org/pypi/pymongo/

pod --> Python
Pickled Object Database ("pod"): http://code.google.com/p/pickled-object-database/

dobbin --> Python
Pure-Python object database
PyPi: http://pypi.python.org/pypi/dobbin/

HBase --> PyHBase:
HBase: http://hbase.apache.org/
PyHBase: http://pypi.python.org/pypi/PyHBase/

ODBC (Windows, Linux, Mac OS, FreeBSD) --> mxODBC
mxODBC: http://www.egenix.com/products/python/mxODBC/

ODBC (Windows, Linux, Mac OS, FreeBSD) --> mxODBC Connect
mxODBC Connect: http://www.egenix.com/products/python/mxODBCConnect/
(Client-Server Version von mxODBC, nutzt die ODBC Treiber auf der Server Seite)

Redis --> redis-py
Redis: http://redis.io/ (Key-Value Store - sauschnell und super einfach)
redis-py: https://github.com/andymccurdy/redis-py
redis-py (pypi): http://pypi.python.org/pypi/redis/


Python Database Modules zu finden bei python.org: http://wiki.python.org/moin/DatabaseProgramming



Wenn du Vorschläge oder Änderungswünsche hast, dann schick mir eine PN. Ich werde mich darum kümmern.


lg
Gerold
:-)
Zuletzt geändert von gerold am Mittwoch 10. Februar 2010, 17:50, insgesamt 45-mal geändert.
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

Beitragvon sape » Donnerstag 14. September 2006, 10:45

Hey Super Gerold!! :)

Ich wusste gar nicht dass soviel DBs von Python unterstützt werden.
Hmm das wäre ja mal ne Idee eine CoreDB zu schreiben das mit alle oben gelisteten DBs klar kommt :D

lg
maxip
User
Beiträge: 61
Registriert: Dienstag 11. März 2008, 09:43

Beitragvon maxip » Donnerstag 9. Oktober 2008, 15:01

Vielleicht sollte man noch SQLAlchemy erwaehnen, ist ziemlich cool...
Benutzeravatar
Leonidas
Administrator
Beiträge: 16022
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Donnerstag 9. Oktober 2008, 18:23

maxip hat geschrieben:Vielleicht sollte man noch SQLAlchemy erwaehnen, ist ziemlich cool...

Das ist ja was ganz anderes und setzt auf die hier beschriebenen Datenbankschnittstellen auf. Da müsste man eher eine Liste von ORM-Libraries anlegen, wo dann Storm, Django & Co. auch drin wären.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
lunar

Beitragvon lunar » Donnerstag 9. Oktober 2008, 18:28

Wieso gibt es denn sieben (!) Bindings für Postgre? Welches davon nutzt man jetzt eigentlich?
Benutzeravatar
Leonidas
Administrator
Beiträge: 16022
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Donnerstag 9. Oktober 2008, 18:38

lunar hat geschrieben:Welches davon nutzt man jetzt eigentlich?

psycopg. Ich kenne kein nennenswertes Projekt dass etwas anderes nutzt. Django und SQLAlchemy nutzen beide das.

pg8000 ist ja eben genau deswegen so benannt worden: """pg8000's name comes from the belief that it is probably about the 8000th PostgreSQL interface for Python."""
My god, it's full of CARs! | Leonidasvoice vs Modvoice
proofy
User
Beiträge: 32
Registriert: Montag 21. März 2011, 12:47

Re: Liste der bekannten Datenbankschnittstellen

Beitragvon proofy » Dienstag 7. Juni 2011, 13:26

Gibt es noch mehr, ggf. eingebaute Abstraktionsmodule für Datenbanken ähnlich wie ADOdb?
querdenker
User
Beiträge: 424
Registriert: Montag 28. Juli 2003, 16:19
Wohnort: /dev/reality

Re: Liste der bekannten Datenbankschnittstellen

Beitragvon querdenker » Mittwoch 8. Juni 2011, 12:50

Nachtrag für Firebird:

pyfirebirdsql

Ist eine Neuentwicklung, die ursprünglich für python 3.x entstanden ist. Allerdings kam sehr schnell die Nachfrage nach einem Backport für python 2.7x, welches jetzt auch unterstützt wird.
pyfirebirdsql setzt auf die xdrlib auf, im Gegensatz zu der "alten" Schnittstelle kinterbasdb, welche eine in python eingewickelte C-Library ist.
I'm not getting paid for being Mr. Nice Guy!
mpathy
User
Beiträge: 48
Registriert: Montag 17. September 2007, 12:29

Re: Liste der bekannten Datenbankschnittstellen

Beitragvon mpathy » Samstag 6. August 2011, 21:37

proofy hat geschrieben:Gibt es noch mehr, ggf. eingebaute Abstraktionsmodule für Datenbanken ähnlich wie ADOdb?


Ja, aber das ist ja nicht das Thema dieses Threads, siehe Antwort von Leonidas.

An sich wäre aber das populärste natürlich SQLalchemy.
Unter ferner liefen dann noch Storm, SQLobject, Autumn.

Das wars an sich.
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Re: Liste der bekannten Datenbankschnittstellen

Beitragvon derdon » Sonntag 4. März 2012, 20:56

Außerdem gibt es noch peewee (erster Commit auf Github in Okt. 2010, aktuelle Version 0.9.0), das vor allem auf Einfachheit setzt.
Rigoletto
User
Beiträge: 28
Registriert: Freitag 14. Februar 2014, 21:05

Re: Liste der bekannten Datenbankschnittstellen

Beitragvon Rigoletto » Montag 18. Mai 2015, 11:41

Den nehme ich als ODBC, PURE PYTHON:
https://code.google.com/p/pypyodbc/
Benutzeravatar
pixewakb
User
Beiträge: 731
Registriert: Sonntag 24. April 2011, 19:43

Re: Liste der bekannten Datenbankschnittstellen

Beitragvon pixewakb » Dienstag 15. November 2016, 21:05

Ich habe nicht alles geprüft, aber bei:

SQLite --> pySQLite
SQLite: http://www.sqlite.org/
pySQLite: http://initd.org/tracker/pysqlite
pySQLite-Modul (ab Python 2.5): http://docs.python.org/lib/module-sqlite3.html
Usage Guide: http://initd.org/pub/software/pysqlite/ ... guide.html


Ist der Link bei Usage Guide nicht mehr zugänglich, d. h. "404 not found".

Und der Link bei PyTables führt auch ins Nirvana (URL: http://www.pytables.org/moin/PyTables).
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Re: Liste der bekannten Datenbankschnittstellen

Beitragvon gerold » Freitag 18. November 2016, 22:39

pixewakb hat geschrieben:Ich habe nicht alles geprüft, aber bei:[...]Ist der Link bei Usage Guide nicht mehr zugänglich,

Hallo pixewakb!

Danke fürs Durchsehen. So wie es aussieht, kann ich den Beitrag nicht mehr ändern. Muss jemand mit mehr Rechten im Forum machen.

lg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs

Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
BlackJack
Moderator
Beiträge: 32994
Registriert: Dienstag 25. Januar 2005, 23:29
Wohnort: Berlin
Kontaktdaten:

Re: Liste der bekannten Datenbankschnittstellen

Beitragvon BlackJack » Freitag 18. November 2016, 23:01

Ich habe die beiden Punkte mal angepasst. Für sowas wäre ein Wiki ja praktisch. :-)
“Programs must be written for people to read, and only incidentally for machines to execute.” — Abelson & Sussman, SICP (preface to the first edition)
Benutzeravatar
pixewakb
User
Beiträge: 731
Registriert: Sonntag 24. April 2011, 19:43

Re: Liste der bekannten Datenbankschnittstellen

Beitragvon pixewakb » Samstag 19. November 2016, 10:12

https://wiki.python.org/moin/

Kann man sicherlich drüber streiten, aber die Inhalte wären dann an einem Ort, der wahrscheinlich auch länger existiert und verlinkt werden könnte, und gegen dezidiert deutschsprachige Seiten scheint dort auch niemand etwas zu haben. Das dortige Wiki scheint wenig Inhalte und wenig aktive Benutzer zu haben - wäre m. E. ein Argument die dortige Nutzer-Basis zu verbreitern.

Einschlägig: https://wiki.python.org/moin/DatabaseProgramming

Und vor allem: https://wiki.python.org/moin/DatabaseInterfaces

Da könnte man sich mit https://wiki.python.org/moin/Datenbank-Programmierung "dranhängen"

Zurück zu „Datenbankprogrammierung mit Python“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder