1. 安装一个Mysql与Python的连接驱动
安装一个Mysql与Python的连接驱动以及解决Mysql中的编码问题,费了我大半天时间,故有必要在这里记录一下。Python3.5版本以前都可以使用第三方库MySQLdb,但是对于3.5之后的版本就要用pymysql这个第三方库。针对Python解释器,安装pymysql的方法在这篇博客中有详细记录:https://www.cnblogs.com/rusking/p/5090395.html
但是这篇博客也有几个问题没有说清,最新的压缩包版本是PyMySQL-0.8.0.tar.gz(md5),可以下载安装这个版本。进入PyMySql-0.6.7目录,这句话的意思是把解压缩后的文件放入原先Python下的安装目录。
另外直接使用Python交互器可以导入pymysql,但是在Pycharm下无论怎么更改设置Python解释器都没有用,这个时候还必须进行一项设置。具体参照这篇博客:http://blog.youkuaiyun.com/just_so_so_fnc/article/details/72995731
Pip package其实是代替了前面的一步直接在python解释器中安装数据库驱动。Pycharm可以替你下载,也可以检测到你已安装的版本。设置好再导入就没有问题了。
2. Mysql中的编码问题
如果不设置好编码问题,一旦输入的数据中有中文,就会报错出现乱码类似于这种:Incorrect string value: '\xE8\x8B\xB1\xE5\xAF\xB8...'。为了不每次启动数据库都要修改,要修改配置文件。My.ini在Mysql的安装目录下难以找到,因此需要自己创建,方法参照这篇博客:http://www.jb51.net/article/120783.htm
但是重启mysql之后查看编码也只有四项修改了,而且已经创建了的数据库编码设置还是没有改变,因此针对原先创建的数据库还是要进行通过命令进行修改。分别要修改表编码和列编码,修改方法参照:https://www.2cto.com/database/201307/227538.html
可以通过:show create tabke 表名;来查看是否修改成功,之后基本显示中文就不会有乱码了。基本上只要都统一成utf8编码显示就没有问题了。