Torndb Documentation¶
A lightweight wrapper around MySQLdb.
Originally part of the Tornado framework. The tornado.database module is slated for removal in Tornado 3.0, and it is now available separately as torndb.
-
class
torndb.Connection(host, database, user=None, password=None, max_idle_time=25200, connect_timeout=0, time_zone='+0:00', charset='utf8', sql_mode='TRADITIONAL', **kwargs)[source]¶ A lightweight wrapper around MySQLdb DB-API connections.
The main value we provide is wrapping rows in a dict/object so that columns can be accessed by name. Typical usage:
db = torndb.Connection("localhost", "mydatabase") for article in db.query("SELECT * FROM articles"): print article.title
Cursors are hidden by the implementation, but other than that, the methods are very similar to the DB-API.
We explicitly set the timezone to UTC and assume the character encoding to UTF-8 (can be changed) on all connections to avoid time zone and encoding errors.
The sql_mode parameter is set by default to “traditional”, which “gives an error instead of a warning” (http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html). However, it can be set to any other mode including blank (None) thereby explicitly clearing the SQL mode.
Arguments read_timeout and write_timeout can be passed using kwargs, if MySQLdb version >= 1.2.5 and MySQL version > 5.1.12.
-
iter(query, *parameters, **kwparameters)[source]¶ Returns an iterator for the given query and parameters.
-
query(query, *parameters, **kwparameters)[source]¶ Returns a row list for the given query and parameters.
-
get(query, *parameters, **kwparameters)[source]¶ Returns the (singular) row returned by the given query.
If the query has no results, returns None. If it has more than one result, raises an exception.
-
execute(query, *parameters, **kwparameters)[source]¶ Executes the given query, returning the lastrowid from the query.
-
execute_lastrowid(query, *parameters, **kwparameters)[source]¶ Executes the given query, returning the lastrowid from the query.
-
execute_rowcount(query, *parameters, **kwparameters)[source]¶ Executes the given query, returning the rowcount from the query.
-
executemany(query, parameters)[source]¶ Executes the given query against all the given param sequences.
We return the lastrowid from the query.
-
executemany_lastrowid(query, parameters)[source]¶ Executes the given query against all the given param sequences.
We return the lastrowid from the query.
-
executemany_rowcount(query, parameters)[source]¶ Executes the given query against all the given param sequences.
We return the rowcount from the query.
-
update(query, *parameters, **kwparameters)¶ Executes the given query, returning the rowcount from the query.
-
delete(query, *parameters, **kwparameters)¶ Executes the given query, returning the rowcount from the query.
-
updatemany(query, parameters)¶ Executes the given query against all the given param sequences.
We return the rowcount from the query.
-
insert(query, *parameters, **kwparameters)¶ Executes the given query, returning the lastrowid from the query.
-
insertmany(query, parameters)¶ Executes the given query against all the given param sequences.
We return the lastrowid from the query.
-
Release history¶
Version 0.3, Jul 25 2014¶
- Added
charsetandsql_modearguments toConnectionconstructor.
Version 0.2, Dec 22 2013¶
- Query methods now accept keyword arguments and
%(name)s-style formatting. - New aliases (
insert,insertmany,update, andupdatemany) are available for theexecutefamily of methods. - The
Connectionconstructor now takesconnect_timeoutandtime_zonearguments.
Version 0.1, Sep 16 2012¶
- Initial separate release, copied from Tornado 2.4.