Python+MySQL

0、Windows下驱动:MySQLdb(仅支持Python2),pymysql(支持Python2/Python3,推荐使用pip安装)。

1、基本操作。

2、批量插入,用cursor.executemany。可参考python文件读取并使用mysql批量插入 。

3、关于测试连接是否有效,可用conn.ping()。如果参数为空,仅仅测试连接是否有效,无效即抛出异常。如果设置True参数,ping会尝试重连,(并保持自动重连这种特性),如果连接有效或重连成功,ping返回None;否则抛出异常。可参考一、二 。

4、异常捕获可参考:MySQLdb捕捉警告信息 。

5、pymssql连接方法:(参考PyMySQL・GitHub)

connection = pymysql.connect(host='localhost',
                             user='user',
                             passwd='passwd',
                             db='db',
                             charset='utf8mb4',
                             cursorclass=pymysql.cursors.DictCursor)

6、内存溢出问题。(参考:How to get a row-by-row MySQL ResultSet in python)

(1)、对于MySQLdb

import MySQLdb
from MySQLdb import cursors
conn = MySQLdb.connect(host='127.0.0.1', 
                        user='user', 
                        passwd='passwd', 
                        db='dbname', 
                        cursorclass = cursors.SSCursor, #这行是关键
                        port=3306)

(2)、对于pymysql

import pymysql
from pymysql import cursors
conn = MySQLdb.connect(host='127.0.0.1', 
                        user='user', 
                        passwd='passwd', 
                        db='dbname', 
                        cursorclass = cursors.SSCursor, #这行是关键
                        port=3306)

(3)、或许这一步再控制更好。

cur = conn.cursor(cursors.SSCursor)


相关阅读:

1、MySQL/MariaDB Tips

2、utf8mb4和utf8有什么区别?


*** walker * 2015-01-22 ***


你可能感兴趣的:(重连,批量,无重复插入)