日期:2014-05-16  浏览次数:20499 次

python连接mysql数据库

1.安装mysql-db,本文中的附件支持python2.6版本

2.安装之后如果执行:import MySQLdb没有问题,就表示mysql-db安装成功

3.conn = MySQLdb.connect(host="127.0.0.1",user="root",passwd="123456",db="test

cursor = conn.cursor ()

cursor.execute ("SELECT VERSION()")

row = cursor.fetchone ()

print "server version:", row[0]

cursor.close ()

conn.close ()

?

常见问题:
1.ImportError: DLL load failed: 找不到指定的模块。
----------------------------------------------------------------
D:/usr/local/Python26>python
Python 2.6 (r26:66721, Oct? 2 2008, 11:35:03) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
Traceback (most recent call last):
? File "<stdin>", line 1, in <module>
? File "D:/usr/local/Python26/Lib/site-packages/MySQLdb/__init__.py", line 19, in <module>

??? import _mysql
ImportError: DLL load failed: 找不到指定的模块。

?

2.ImportError: DLL load failed: 找不到指定的模块。
----------------------------------------------------------------
D:/usr/local/Python26>python
Python 2.6 (r26:66721, Oct? 2 2008, 11:35:03) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
D:/usr/local/Python26/lib/site-packages/MySQLdb/__init__.py:34: DeprecationWarning: the sets module is deprecated
? from sets import ImmutableSet
----------------------------------------------------------------
解决方法:
1) file "__init__", replace:?
?
from sets import ImmutableSet ?
class DBAPISet(ImmutableSet): ?
?
with ?
?
class DBAPISet(frozenset)?
?
2) file "converters.py", remove:?
?
from sets import BaseSet, Set?
?
3) file "converters.py", change "Set" by "set" (IMPORTANT: only two places):?
?
line 48: return set([ i for i in s.split(',') if i ])?
line 128: set: Set2Str,?

----------------------------------------------------------------
解决方法:下载libmmd.dll(附件)和libguide40.dll(附件)两个dll文件并复制到python安装目录的Lib/site-packages下。