擅长:python、mysql、java
<pre><code>import MySQLdb.cursors
db = MySQLdb.connect(db=database, host=localhost,
port=3306, user=user, passwd=pass,
cursorclass=MySQLdb.cursors.DictCursor)
cur = db.cursor()
#this is not string interpolation, everything is quoted for you automatically
cur.execute("select id, name from table where id = %s", (321,))
for row in cur.fetchall():
print "%s. %s" % (row['id'], row['name'])
cur.execute("insert into table (id, name) values (%s, %s)", (123, 'foo'))
db.commit() # required, because autocommit is off by default
</code></pre>
<p>Python数据库API使用一个公共的<a href="http://www.python.org/dev/peps/pep-0249/" rel="nofollow noreferrer">convention</a>,这在不同的数据库中几乎是相同的(但不完全相同)。您可以阅读MySQLdb文档<a href="http://mysql-python.sourceforge.net/MySQLdb.html" rel="nofollow noreferrer">here</a>。</p>
<p>mysql还有一个功能更丰富的接口,叫做<a href="http://packages.python.org/oursql/" rel="nofollow noreferrer">oursql</a>。它有真正的参数化(不仅仅是美化的字符串插值)、服务器端游标、数据流等等。</p>