码迷,mamicode.com
首页 > 数据库 > 详细

Python连接MySQL数据库中各种坑

时间:2017-12-11 22:15:21      阅读:586      评论:0      收藏:0      [点我收藏+]

标签:导入   find   64位   exec   setting   .com   json   sci   注意   

  第一个坑

      要想连接数据库,我们必须拥有MySQL-python这个模块,首先,我在安装这个模块的时候就到了第一个大坑。

      常规安装方法:进入cmd 使用 pip install MySQL-python 就可以,如果你这样可以安装那就是万幸啊。

      第二种安装方法:进入到和常规方法一样的目录:使用easy_install MySQL-python 命令安装   ,但是我同样入坑,无法安装。

      第三种:直接在Pycharm(我用的是Pycharm)里面,进入file>settings>Project>Project InterPreter 点击右边的绿色加号,搜索MySQL-python再点击左下角的安装。 果不其然,还是入坑了。

           错误:Could not find a version that satisfies the requirement MySQLdb (from versions: ) No matching distribution found for MySQLdb

      此时内心是崩溃的,不管他,继续弄。

      第四种:进入这个网页 http://www.codegood.com/archives/129  找到 MySQL-python-1.2.3.win-amd64-py2.7.exe  进行下载。当然,这里是分32和64位的。

          下载好了,直接安装就可以了。这时,我才成功。

          注意:一定要区分位数。这也是我入过的一个坑。

      技术分享图片

  第二个坑

    从数据库查询数据,中文变问号。

      解决办法:

        第一种:在代码开头加上:# encoding=utf8 或者 # -*- coding:utf8 -* 等,这一类解决办法毫无作用。

        第二种:导入 sys模块,这个自行百度,也是毫无作用,就不多说了。

        第三种:在conn = mdb.connect(‘localhost‘, ‘用户名‘, ‘密码‘, ‘数据库名‘, 端口号, charset=‘utf8‘) 在这后面加上charset=‘utf8‘  结果一样,毫无作用,但是这一步还是必须的。

          第四种:导入json模块

              

cur.execute(select * from stuinfo)

data = cur.fetchall()
for i in data:
    print json.dumps(i, encoding=UTF-8, ensure_ascii=False)  # 这一句才是精华

            就这样,我的第二个坑才算是跳过了。

      这个坑是在我的数据库里面数据编码是utf8 的情况下发生的。

      

Python连接MySQL数据库中各种坑

标签:导入   find   64位   exec   setting   .com   json   sci   注意   

原文地址:http://www.cnblogs.com/dream-saddle/p/8024984.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!