[DB-SIG] Persistent Database Connections
Andy Dustman
andy@dustman.net
Mon, 13 Aug 2001 10:37:18 -0400 (EDT)
On Thu, 9 Aug 2001, Stanton Schell wrote:
> Is there any good documentation on how to create and use persistent db
> connections (in imported modules, etc.)? I am using MySQL (3.23.36) and
> Py2.1.1. All the documentation I have found on persistence only deals with
> persistent data. I am fairly in the dark (newbie), so even a couple lines
> explaining how to easily pass a connection from one area of my program to
> another will help...
For MySQLdb (and in general for DB API databases):
db = MySQLdb.connect(...)
db is a database Connection object which may be passed around as needed.
To perform queries, you need a Cursor object:
c = db.cursor()
Queries are performed with execute():
c.execute(query_string, optional_sequence_of_parameters)
Results, if any, can be returned by the various fetchXXX() methods:
row = c.fetchone()
rows = c.fetchmany(n) # n optional
all_rows = c.fetchall()
A row is usually a tuple of column values, or None if no more are
available. Methods returning a sequence of rows return an empty sequence
if no more are available.
db.commit() # or rollback
should be obvious, though not usually needed or useful for MySQL.
--
Andy Dustman PGP: 0xC72F3F1D
@ .net http://dustman.net/andy
I'll give spammers one bite of the apple, but they'll
have to guess which bite has the razor blade in it.