本文共 1304 字,大约阅读时间需要 4 分钟。
0、Windows下驱动:(仅支持Python2),(支持Python2/Python3,推荐使用pip安装)。
1、。
2、批量插入,用cursor.executemany。可参考 。
3、关于测试连接是否有效,可用conn.ping()。如果参数为空,仅仅测试连接是否有效,无效即抛出异常。如果设置True参数,ping会尝试重连,(并保持自动重连这种特性),如果连接有效或重连成功,ping返回None;否则抛出异常。可参考、 。
4、异常捕获可参考: 。
5、pymssql连接方法:(参考)
1 2 3 4 5 6 | connection = pymysql.connect(host = 'localhost' , user = 'user' , passwd = 'passwd' , db = 'db' , charset = 'utf8mb4' , cursorclass = pymysql.cursors.DictCursor) |
6、内存溢出问题。(参考:)
(1)、对于MySQLdb
1 2 3 4 5 6 7 8 9 | import MySQLdb from MySQLdb import cursors conn = MySQLdb.connect(host = '127.0.0.1' , user = 'user' , passwd = 'passwd' , db = 'dbname' , charset = 'utf8mb4' , cursorclass = cursors.SSCursor, #这行是关键 port = 3306 ) |
(2)、对于pymysql
1 2 3 4 5 6 7 8 9 | import pymysql from pymysql import cursors conn = MySQLdb.connect(host = '127.0.0.1' , user = 'user' , passwd = 'passwd' , db = 'dbname' , charset = 'utf8mb4' , cursorclass = cursors.SSCursor, #这行是关键 port = 3306 ) |
(3)、或许这一步再控制更好。
1 | cur = conn.cursor(cursors.SSCursor) |
7、utf8mb4是utf8的超集,其中mb4指 most bytes 4。
*** 2016-08-08 ***
walker发现pymysql在不断执行sql语句时会有内存泄露(memory leak),同样条件下mysql-connector-python表现正常,所以现在walker推荐使用。MySQL的官方链接:。(或者到查找mysql_connector)
相关阅读:
1、
2、
*** * updated 2016-08-08 ***