mysql+python3

来源:互联网 发布:为什么c语言中提到函数 编辑:程序博客网 时间:2024/06/18 13:12

python3.4中,MySQLDB将不再被支持,使用 sqlalchemy 时会出现no module called MySQLDB的error,在py3中将用pymysql替换。用法如下:

import pymysqlpymysql.install_as_MySQLdb() 

sqlalchemy与mysql使用还会出现中文无法插入的情况,将报错rollback,建立数据库时应使用CREATE DATABASE <database> DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
然后,该问题的解决方案是

在sqlalchemy的创建engine连接中应写create_engine('mysql+mysqldb://root:324426@127.0.0.1:3306/weather?charset=utf8')

重点就是后面的‘?charset=utf8’

同时,注意python3中unicode编码为utf-8:

u.encode('utf-8')
0 0
原创粉丝点击