Python连接MySQL数据库中各种坑
第一个坑
要想连接数据库,我们必须拥有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数据库中各种坑的更多相关文章
- python 连接Mysql数据库
1.下载http://dev.mysql.com/downloads/connector/python/ 由于Python安装的是3.4,所以需要下载下面的mysql-connector-python ...
- pymysql模块使用---Python连接MySQL数据库
pymysql模块使用---Python连接MySQL数据库 浏览目录 pymysql介绍 连接数据库 execute( ) 之 sql 注入 增删改查操作 进阶用法 一.pymysql介绍 1.介绍 ...
- Python连接MySQL数据库的多种方式
上篇文章分享了windows下载mysql5.7压缩包配置安装mysql 后续可以选择 ①在本地创建一个数据库,使用navicat工具导出远程测试服务器的数据库至本地,用于学习操作,且不影响测试服务器 ...
- Python连接MySQL数据库
连接MySQL数据库 源码: import MySQLdb #导入MySQLdb模块 print '连接数据库</br>' #连接MySQL数据库 connect the database ...
- python入门(十七)python连接mysql数据库
mysql 数据库:关系型数据库mysql:互联网公司 sqllite:小型数据库,占用资源少,手机里面使用oracle:银行.保险.以前外企.sybase:银行+通信 互联网公司key:valuem ...
- python连接mysql数据库,并进行添加、查找数据
1.删除MySQL数据表中的记录 DELETE FROM table_name WHERE condition; python操作mysql1数据库 import pymysql # 连接mysql数 ...
- Python连接MySQL数据库之pymysql模块使用
安装PyMySQL pip install pymysql PyMySQL介绍 PyMySQL是在python3.x版本中用于连接MySQL服务器的一个库,2中则使用mysqldb. Django中也 ...
- Python学习(二十五)—— Python连接MySql数据库
转载自http://www.cnblogs.com/liwenzhou/p/8032238.html 一.Python3连接MySQL PyMySQL 是在 Python3.x 版本中用于连接 MyS ...
- Python连接MySQL数据库执行sql语句时的参数问题
由于工作需要,今天写了一个Python小脚本,其中需要连接MySQL数据库,在执行sql命令时需要传递参数,结果出问题了.在网上查了一下,发现有以下几种方式传递参数: 一.直接把sql查询语句完整写入 ...
随机推荐
- python爬虫xpath
又是一个大晴天,因为马上要召开十九大,北京地铁就额外的拥挤,人贴人到爆炸,还好我常年挤地铁早已练成了轻功水上漂,挤地铁早已经不在话下. 励志成为一名高级测试工程师的我,目前还只是个菜鸟,难得有机会,公 ...
- Java基础笔记10
类的设计分析: 1.根据需求抽取属性.(名词几乎都是属性) 2.属性私有化(private) 3.生成setter和getter方法 4.可以根据需要添加构造函数. 5.根据需求抽取其他方法.(动词几 ...
- 事件轮询中的task与microtask
event loop 网上看到的一篇文章,关于介绍task和Tasks, microtasks, queues and schedules,尝试简单翻译一下写进来吧! 原文地址:https://jak ...
- chromium源码阅读--进程间通信(IPC)
第一篇就有提到Chromium是目前默认是采用多进程架构,当然,chromium有singe-process的版本. 多进程与多线程的区别,确实有很多可以讲的,我的另一篇博客也讲了一些,这里是从浏览器 ...
- pandas数据结构练习题(部分)
更多函数查阅http://pandas.pydata.org/pandas-docs/stable/10min.htmlimport pandas as pd#两种数据结构from pandas im ...
- hive中UDF、UDAF和UDTF使用
Hive进行UDF开发十分简单,此处所说UDF为Temporary的function,所以需要hive版本在0.4.0以上才可以. 一.背景:Hive是基于Hadoop中的MapReduce,提供HQ ...
- Problem C: 是否回文数?
Description 定义Data类,有一个int类型的属性.定义其构造函数.setValue函数和isPalindrome函数,其中setValue函数用于设置属性值,isPalindrome用于 ...
- MySQLbase
/*多行注释*/-- 单行注释-- 创建用户: CREATE USER '用户名'[@'主机名'] IDENTIFIED BY '密码'-- 主机名可以为空,省略主机名表示默认权限为%, 所有主机都可 ...
- apply和call的区别
每一个javascript中的Function对象都有一个apply()方法和call()方法,他们的基本用法为: /*apply()方法*/ function.apply(thisObj[, arg ...
- .net表达式计算器(中缀表达式转后缀表达式,支持20多个数学函数,支持函数嵌套)
最近在网上查了一下表达工计算器的类库,发现Java版本的有一个比较成熟的叫W3EVal,好像是一个IBM工程师写的,.net就很少了(可能是我了解不够多),但投机取巧的实现思路有很多,比如: (1)将 ...