再将解压出来的libmysql.dll文件放到python安装路径下的Lib/site-packages/目录下问题解决
附带一些python mysql基本操作:
python连接数据库后获得cursor游标,cursor用来执行命令的方法有:
callproc(self, procname, args):用来执行存储过程,接收的参数为存储过程名和参数列表,返回值为受影响的行数
execute(self, query, args):执行单条sql语句,接收的参数为sql语句本身和使用的参数列表,返回值为受影响的行数
executemany(self, query, args):执行单挑sql语句,但是重复执行参数列表里的参数,返回值为受影响的行数
nextset(self):移动到下一个结果集
cursor用来接收返回值的方法:
fetchall(self):接收全部的返回结果行.
fetchmany(self, size=None):接收size条返回结果行.如果size的值大于返回的结果行的数量,则会返回cursor.arraysize条数据.
fetchone(self):返回一条结果行.
scroll(self, value, mode='relative'):移动指针到某一行.如果mode='relative',则表示从当前所在行移动value条,如果mode='absolute',则表示从结果集的第一行移动value条.
#!/usr/bin/python #encoding=utf-8 #MySQLdb查询 import MySQLdb try: conn = MySQLdb.connect(host='localhost',port=3306,user='root',passwd='39554',charset='utf8') except Exception, e: print e exit() cursor=conn.cursor() #执行SQL,创建一个数据库 try: cursor.execute('drop database if exists python-test') cursor.execute('create database python-test') except Exception, e: print e #选择数据库 conn.select_db('python-test') #执行SQL,创建一个数据库 #cursor.execute('drop table if exists test') try: cursor.execute('create table test(id int,info varchar(100))') except Exception, e: print e # 清空数据 #cursor.execute("delete from test") value = [1,"inserted ?"] #插入和一条记录 cursor.execute('insert into test values(%s,%s)',value) values = [] #生成插入参数值 for i in range(20): values.append((i,'Hello mysqldb,I am recoder ' + str(i))) #插入多条记录 cursor.executemany('insert into test values(%s,%s)',values) #conn.select_db('python') count = cursor.execute('select * from test') print '总共有 %d 条记录'%count #获取一条记录,每条记录做为一个元组返回 print '只获取一条记录:' result=cursor.fetchone() print result print 'ID: %s info: %s'%(result[0],result[1]) #获取5条记录,注意由于之前执行有了fetchone(),所以游标已经指到第二条记录了,也就是从第二条开始的所有记录 print '只获取5条记录:' results=cursor.fetchmany(5) for rec in results: print "ID: %s info: %s"%(rec[0],rec[1]) # print r #获取结果作为字典返回 cursor = conn.cursor(cursorclass = MySQLdb.cursors.DictCursor) results=cursor.fetchmany(5) for rec in results: print "ID: %s info: %s"%(rec[0],rec[1]) print '获取所有结果:' #重置游标位置,0为偏移量,mode=absolute|relative,默认为relative cursor.scroll(0,mode='absolute') #获取所有结果 resultss=cursor.fetchall() for rec in resultss: print "ID: %s info: %s"%(rec[0],rec[1]) cursor.close() conn.close()