Python操作MySQL
来源:互联网 发布:淘宝微淘在哪 编辑:程序博客网 时间:2024/06/05 16:23
python+MySQLdb操作MySQL
一、环境配置
- python2.7
- windows 64bit环境
- pycharm(IDE个人喜好选择)
- MySQLdb:根据我自己的环境,我使用的是64bit的支持python2.7版本的MySQLdb。百度盘链接:http://pan.baidu.com/s/1dEMdPnF 密码:p96r。下载安装即可,如在安装过程出现require python…要考虑python是32还是64位,是否与安装的MySQLdb兼容。
- 安装完毕,windows下进入cmd->python
>>>import MySQLdb>>>
即安装成功!
二、基本操作
1、连接数据库
我这里直接贴代码:
#coding=utf-8import MySQLdb# conn = MySQLdb.connect(# host='localhost',# user='root',# passwd='123456',# db='pydb',# charset='utf8'# )conn = MySQLdb.connect('localhost','root','123456','pydb',charset='utf8')cur = conn.cursor()
- 首先导入MySQLdb模块
- 创建连接:MySQLdb.connect(),参数详情即注释部分,尤其要注意最后的charset=’utf8’参数是为了避免中文乱码(编码让人很是头疼),所以在.py开头要加入文档编码的设定语句:#coding=utf-8。
2、基本操作
数据库的操作区别就在于sql语句上,我这里以最基本的查询为例,其他操作只需更改sql语句即可(保证sql语句正确)。
代码:
cur = conn.cursor()cols = cur.execute("select * from pytable")
- .cursor()方法创建游标(如同c指针,anyway~)。
- .execute(sql)执行sql语句,返回sql语句执行的行数。
- 这些操作是在第一步成功连接数据库的基础上进行。
3、如何显示查询的结果?
废话少说,贴代码:
for it in cur.fetchmany(cols): print it
- .fetchmany(arg)方法接受一个行数作为参数,代码中的cols就有用处了
- 但是,我在学习过程中发现一个问题,这样显示的结果有异样:
(201701L, u’\u5f20\u4e09’, 17L, u’\u7537’)
(201702L, u’\u674e\u56db’, 19L, u’\u7537’)
(201703L, u’\u674e\u534e’, 20L, u’\u5973’)
为此,修改一下代码:
for it in cur.fetchmany(cols): for i in range(len(it)): print it[i], print
结果:
201701 张三 17 男
201702 李四 19 男
201703 李华 20 女
这才是我们想看到的结果。
至于为什么会出现异样的结果,我会在学习中尝试去解决(回头更新此文章)。
3、善后工作
关闭连接,游标,提交事务的工作:
conn.commit()cur.close()conn.close()
连接对象的.commit()方法是提交当前事务(查询虽然没有事物去提交,但这是操作数据库时应该养成的习惯)。
.close()方法相信不会陌生,关闭游标对象,关闭数据库连接,这才完成了对数据库操作的完整过程。
三、方法补充
1、连接对象
- rollback()取消当前事物
cursor()使用当前连接创建并返回一个游标或类游标的对象
一旦执行close()方法,再去试图使用这个连接对象的方法会产生异常。
2、游标对象
- connection()创建此游标对象的连接(可选)
- rowcount()最后一次exectur()操作返回或受影响的行数
- fetchone()得到结果集的下一行,重复执行此操作得到的结果不同(类比指针的next)
- fetchall()返回结果集中剩下的所有行
目前为止,涉及的内容都是最最基本的,后续如有新的认识,继续更新此博文,谢谢。
九月七日·晴 2017-11-11
阅读全文
0 0
- [python]Python操作MySQL
- python操作mysql
- Python操作MySQL
- Python操作Mysql数据库
- python操作MySQL
- python 操作mysql
- python操作mysql
- python操作mysql例子
- python操作mysql
- Python操作Mysql
- Python操作Mysql
- Python操作Mysql
- python操作MySQL数据库
- python操作MySQL数据库
- 用Python操作Mysql
- python操作mysql
- python操作MySQL数据库
- python操作MySQL数据库
- Nginx负载均衡
- Ubuntu建立和删除用户
- linux sedsedsedsedsed
- linux 下使用intel mpi 进阶
- Magento根据条件进行商品筛选
- Python操作MySQL
- Verilog读取文本中的数据和输出数据到文本
- java(24):IO(1):OutPutStream
- Tree Traversals Again (25)
- java 获取时间与系统时间不一致问题
- CS231N 笔记3_卷积神经网络
- CMT-CQUPT 第一届 ACM 校赛环境搭建(PC^2)
- 数据结构实验之二叉树四:(先序中序)还原二叉树
- 判断输入框的输入格式是否正确,并禁止其他输入框输入内容