2010-09-05 9 views
6

Sto sviluppando un'applicazione web che ha bisogno di interfacciarsi con un database MySQL, e non riesco a trovare nessun modulo veramente buono là fuori per Python.Modulo MySQL Python

Sono specificamente alla ricerca di un modulo veloce, in grado di gestire centinaia di migliaia di connessioni (e query, il tutto in un breve periodo di tempo l'uno dall'altro), senza un impatto significativo sulla velocità.

risposta

7

MySQLdb è praticamente l'unico gioco in città per l'accesso mysql Python.

2

Io di solito uso SQLObject, ma io non l'ho usato in condizioni altamente stressanti, così non ho potuto garantire per le prestazioni (Detto questo, io non parlerei contro esso).

Per copiare un codice demo da un'altra risposta:

from sqlobject import * 

# Replace this with the URI for your actual database 
connection = connectionForURI('mysql://server:XXXX') 
sqlhub.processConnection = connection 

# This defines the columns for your database table. See SQLObject docs for how it 
# does its conversions for class attributes <-> database columns (underscores to camel 
# case, generally) 

class Song(SQLObject): 

    name = StringCol() 
    artist = StringCol() 
    album = StringCol() 

# Create fake data for demo - this is not needed for the real thing 
def MakeFakeDB(): 
    Song.createTable() 
    s1 = Song(name="B Song", 
       artist="Artist1", 
       album="Album1") 
    s2 = Song(name="A Song", 
       artist="Artist2", 
       album="Album2") 

def Main(): 
    # This is an iterable, not a list 
    all_songs = Song.select().orderBy(Song.q.name) 

    # Do something by iterating over the song list... 
1

oursql è un'altra opzione per l'accesso python-mysql. È un wrapper molto più completo di libmysqlclient di MySQLdb. Tende ad essere più veloce nella mia esperienza con molte funzionalità aggiuntive.