http://ianhowson.com/a-quick-guide-to-using-mysql-in-python.html
http://zetcode.com/db/mysqlpython/
1. python 连接mysql
首先要安装MySQLdb模块
http://sourceforge.net/projects/mysql-python/
一个最简单的例子,连接mysql
http://www.cnblogs.com/rollenholt/archive/2012/05/29/2524327.html python操作MySQL数据库
host不要用localhost用127.0.0.1否则可能会出错
import MySQLdb try: conn=MySQLdb.connect(host='127.0.0.1',user='root',passwd='root',db='test',port=3306) #打开连接 cur=conn.cursor() #打开游标
cur.execute('set names gb2312;') cur.execute('select * from user') #select 返回的是结果的行数 cur.close() conn.close() except MySQLdb.Error,e: print "Mysql Error %d: %s" % (e.args[0], e.args[1])
2.选择数据库 select_db()
conn.select_db('mytest')
3. 用cursor来接收返回值,fetch()。
注意fecth一条数据之后游标就会向后移动到下一条。
result=cur.fetchone() #fetch one 提取一条数据 result=cur.fetchmany(10) #fetch many 提取多条数据
result=cur.fetchall() # fetch all 提取所有数据
cur.scroll(2,mode='relative') #向下移动2行,relative 从当前行开始 cur.scroll(2,mode='absolute') #absolute 从第一行开始
4. cursor用来执行命令的方法
callproc(self, procname, args):用来执行存储过程,接收的参数为存储过程名和参数列表,返回值为受影响的行数
execute(self, query, args):执行单条sql语句,接收的参数为sql语句本身和使用的参数列表,返回值为受影响的行数
executemany(self, query, args):执行单挑sql语句,但是重复执行参数列表里的参数,返回值为受影响的行数
nextset(self):移动到下一个结果集
http://www.cnblogs.com/xiaowuyi/archive/2012/11/07/2758589.html execute()和executemany()区别
5. insert update 等操作要commit
try: conn=MySQLdb.connect(host='127.0.0.1',user='root',passwd='123',db='twitter',port=3306) cur=conn.cursor() cur.execute('set names utf8;') p=999999 #p=1740125640 pp=str(p) cur.execute('insert into tuser values ( '+pp+', 0 , 0 )') conn.commit() cur.execute('select * from tuser') result=cur.fetchall() for e in result: print e conn.close() except MySQLdb.Error,e: print "Mysql Error %d: %s" % (e.args[0], e.args[1])