python mysql模块
2015-10-04 19:08
525 查看
多次使用python操作mysql数据库,先与大家分享一下,关于如何使用python操作mysql数据库。mysql并不是python自带的模块,因此需要下载安装。(在windows平台下介绍该使用过程)
1、下载/安装python-mysql
下载地址:https://pypi.python.org/pypi/MySQL-python/1.2.5
双击下载的文件,一直选择next就可以安装好(前提是必须已经安装了python),注意python-mysql与python对应的版本,否则在使用过程中会出现意想不到的错误。
2、检查是否安装成功
打开python交互界面,输入importMySQLdb,没有报错表示成功安装。
如图:
3、使用方式
测试数据库为:
3.1与数据库建立连接
3.2获取游标对象
3.3执行SQL语句
对上述两种语法,这里做一些阐述:
1、execute:执行单条sql语句,并返回sql语句执行的结果数量
2、executemany:执行多条sql语句,内部实际是多次调用execute,但是比显示这样调用效率要高一些,返回execute执行成功的数量(实际就是sql语句的sql执行的结果数量。
当执行更新(插入、修改、删除)操作时,需要通过connection.commit()显示执行提交,才会将execute或者executemany执行的结果,映射到数据库中。
当执行查询操作时,需要使用cursor.fetchone()、cursor.fetchmany(size),cursor.fetchall(),获取一个、多个、全部sql执行查询的结果。如果使用cursor.frtchmany()默认会获取一个,如果想获取指定个数,那么可以使用cursor.fetchmany(size=2)方式。
3.4查询时游标的理解
3.4.1游标规则
如果使用同一个cursor.execute()执行查询结果,初始状态游标执行首个元素,当使用cursor.fetch*时,游标会向下移动;
cursor.fetchone:向下移动一个位置
cursor.fetchmany(size=num):向下移动size指定数值位置
cursor.fetchall():游标移动到末尾
例如:
执行结果:
(1L,'admin')
((2L,'wangzp'),)
((6L,'wangzp12'),(5L,'wangzp123'))
根据结果可以发现,游标会移动,按照上述描述的规则。
3.4.2设置游标位置
可以通过cursor.scroll(position,mode="relative|absolute")方法,来设置相对位置游标和绝对位置游标。
方法参数描述:
position:游标位置
mode:游标位置的模式,relative:默认模式,相对当前位置;absolute:绝对位置
例如:
mode=relative,position=1;表示的是设置游标为当前位置+1的位置,即向下移动一个位置
mode=absolute,position=2;将游标移动到索引为2的位置
代码示例:
运行结果:
(1L,'admin')
((6L,'wangzp12'),)
((1L,'admin'),(2L,'wangzp'),(6L,'wangzp12'),(5L,'wangzp123'))
3.5事务管理
使用connection.commit()提交,connection.rollback()回滚。
总结:
除了上述一些用法外,还有一些注入执行存储过程等方法,这里不做介绍,详情可以参考相关文档。其实用法相对还是比较简单的。一般开发可以分为如下步骤:
1、建立数据库连接
2、获取游标
3、执行SQL
4、如果sql是查询,那么使用fetch系列函数查询,但是需要注意的是游标的移动方式。
如下列一个简单的封装代码(部分):
1、下载/安装python-mysql
下载地址:
双击下载的文件,一直选择next就可以安装好(前提是必须已经安装了python),注意python-mysql与python对应的版本,否则在使用过程中会出现意想不到的错误。
2、检查是否安装成功
打开python交互界面,输入importMySQLdb,没有报错表示成功安装。
如图:
3、使用方式
测试数据库为:
3.1与数据库建立连接
1、execute:执行单条sql语句,并返回sql语句执行的结果数量
2、executemany:执行多条sql语句,内部实际是多次调用execute,但是比显示这样调用效率要高一些,返回execute执行成功的数量(实际就是sql语句的sql执行的结果数量。
当执行更新(插入、修改、删除)操作时,需要通过connection.commit()显示执行提交,才会将execute或者executemany执行的结果,映射到数据库中。
当执行查询操作时,需要使用cursor.fetchone()、cursor.fetchmany(size),cursor.fetchall(),获取一个、多个、全部sql执行查询的结果。如果使用cursor.frtchmany()默认会获取一个,如果想获取指定个数,那么可以使用cursor.fetchmany(size=2)方式。
3.4查询时游标的理解
3.4.1游标规则
如果使用同一个cursor.execute()执行查询结果,初始状态游标执行首个元素,当使用cursor.fetch*时,游标会向下移动;
cursor.fetchone:向下移动一个位置
cursor.fetchmany(size=num):向下移动size指定数值位置
cursor.fetchall():游标移动到末尾
例如:
(1L,'admin')
((2L,'wangzp'),)
((6L,'wangzp12'),(5L,'wangzp123'))
根据结果可以发现,游标会移动,按照上述描述的规则。
3.4.2设置游标位置
可以通过cursor.scroll(position,mode="relative|absolute")方法,来设置相对位置游标和绝对位置游标。
方法参数描述:
position:游标位置
mode:游标位置的模式,relative:默认模式,相对当前位置;absolute:绝对位置
例如:
mode=relative,position=1;表示的是设置游标为当前位置+1的位置,即向下移动一个位置
mode=absolute,position=2;将游标移动到索引为2的位置
代码示例:
(1L,'admin')
((6L,'wangzp12'),)
((1L,'admin'),(2L,'wangzp'),(6L,'wangzp12'),(5L,'wangzp123'))
3.5事务管理
使用connection.commit()提交,connection.rollback()回滚。
总结:
除了上述一些用法外,还有一些注入执行存储过程等方法,这里不做介绍,详情可以参考相关文档。其实用法相对还是比较简单的。一般开发可以分为如下步骤:
1、建立数据库连接
2、获取游标
3、执行SQL
4、如果sql是查询,那么使用fetch系列函数查询,但是需要注意的是游标的移动方式。
如下列一个简单的封装代码(部分):
相关文章推荐
- python gettext使用
- 用Python学习统计学基础-6
- 机器学习算法-K最近邻从原理到实现(Python)
- 【python】python2.x 与 python3.x区别对照+缩进错误解决方法
- python正则表达式和自制爬虫
- Python爬虫的一些总结
- Python 进程管理工具 Supervisor 使用教程
- Python中os模块的使用(附一个调试例子)
- 使用Python统计垃圾文件
- 关于wxPython中的TextCtrl响应失去焦点事件后不能再次编辑或出现不正常现象的解决办法
- Python加载csv文件的两种方式
- 萌妹子Python入门指北(一)
- [python]学习笔记6-python数字
- 《机器学习实战》笔记之八——预测数值型数据:回归
- Eclipse和PyDev搭建完美Python开发环境(Windows篇)
- 说说Python程序的执行过程
- 出现No module named numpy的解决办法
- Python-__builtin__与__builtins__的区别与关系
- 用python2.7,采集新浪博客
- 利用python脚本自动下载ICML会议接受的文章