20171027 python访问MySQL数据库

以前经常用mysql-connector来访问MySQL数据库,最近看资料看到mysql-connector已慢慢不是主流的访问库了,官方推荐的是MySQLdb。

研究切换到MySQLdb

首先需要去:Unofficial Windows Binaries for Python Extension Packages下载最新版本的安装包

网页中搜索mysqlclient

下载相应版本的文件

我下载的是for python 36的64位版本

20171027 python访问MySQL数据库_第1张图片
Paste_Image.png

控制台执行:

pip install mysqlclient-1.3.12-cp36-cp36m-win_amd64.whl

装好后即可使用

注意一

MySQLdb与以前的mysql.connector的语法完全一致,唯一差别在于import 的内容不一样

以前的是:

import mysql.connector as con

现在的是:

import MySQLdb as con

注意二

因为开发商是瑞典公司,MySQLdb默认的编码是latin1,如果要执行的SQL语句中含有中文,悲剧了,会有错误

UnicodeEncodeError: 'latin-1' codec can't encode character '\u4e00' in position 16: ordinal not in range(256)

解决办法:

以前打开数据库连接的时候是这样的:

cnx = con.connect(user='root', password='supermap', database='lte')

加一个charset='utf8'即可

cnx = con.connect(user='root', password='supermap', database='lte', charset='utf8')

你可能感兴趣的:(20171027 python访问MySQL数据库)