首页  /  Python教程  /  对象和游标  /  

对象和游标

点击打开在线编译器,边学边练

        前面几节我们初步认识了数据库,我们想要把数据库连接到程序中,还是需要一个模块,我们使用PyMySQL模块来进行连接,安装它的命令为:pip install PyMySQL,如果安装失败可以使用下面的命令:pip install pymysql -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com安装完成如图所示。

图片24.png

        安装完成后我们再来讲解一下为什么数据库都下载好了还需要再安装一个模块,因为我们的数据库是存放在我们的电脑上的,这就等于你有一个U盘,U盘里有很多数据,但是U盘放到电脑旁边是没有办法获取其中的数据的,因此需要一个接口,通过这个接口电脑可以获取到U盘中的数据,我们下载的这个模块就充当这个接口的作用,把数据库和我们的程序连接到一起。在我们学习数据库操作之前,我们先了解一下连接对象的方法和游标对象。

    1. 连接对象的方法

        了解方法之前我们首先来了解一下连接对象,连接对象的功能就是负责对数据源的连接,连接成功之后我们才可以执行数据库的相关指令。

        Connection对象中有一些方法供我们使用,如下表:

函数功能
close()关闭数据库连接
commit()提交事务
rollback()回滚数据库事务
cursor()获得cursor游标对象

        在数据库操作中,事务往往包含了读写的操作,如果把一个事务交给数据库管理系统,那么在当前事务的所有操作未执行完毕之前,该事务的所有数据都处在数据库中,如果有操作未完成就需要进行回滚操作,回到执行前的操作,上面的几种方法在我们是用数据库的过程中会经常遇到。

    2. 游标对象

        游标(Cursor)是处理数据的一种方法,为了查看或者处理结果集中的数据,游标提供了在结果集中一次一行或者多行前进或向后浏览数据的能力。游标在数据库管理系统中十分重要,创建游标对象的方法有多种,下面我们来介绍游标属性及方法。

        游标属性有:

        Description:数据库类型和值的相关信息。

        Rowcount:返回结果的行数统计信息。

        游标方法如下图:

方法功能
execute(sql[, parameters])执行一条SQL语句
executemany(sql, seq_of_parameters)用于批量执行SQL语句
fetchone()捕获查询结果集的下一行,返回单个序列,在没有更多数据可用时不返回
fetchmany(size=cursor.arraysize)

搜索查询结果的下一组行,返回列表。当不可用行时,将返回一个空列表。

fetchall()捕获查询结果的所有(剩余)行,返回列表。光标的数组大小属性可能会影响此操作的性能。如果没有行,则返回空列表。
close()关闭当前游标
Callproc(procname,[,parameters])

执行存储过程,procname为存储过程名,parameters为存储过程提供的参数

connection.rollback()回滚从上一次调用 commit() 之后对数据库所做的所有变动
cursor.executescript(sql_script)接收到脚本会执行多个 SQL 语句,它首先执行 COMMIT 语句,然后执行作为参数传入的 SQL 脚本
connection.executescript(sql_script)这是一个非标准的快捷方式,通过调用游标()方法创建游标对象,使用给定的sql_script调用游标的executescript()方法,并返回游标。
connection.total_changes()返回自数据库连接打开以来被修改、插入或删除的数据库总行数

    3. 总结

        本节我提到的这些是数据库操作中比较常用的方法,在遇到相关问题的时候可以回头翻看本节内容,下面两节我们先来学一种嵌入式数据库SQLite,我们通过接口连接这种数据库也可以进行相关操作。

        


本文固定URL:https://www.dotcpp.com/course/307

第一章 人生苦短,我用Python
第二章 Python基础语法
第三章 Python入门语法
第四章 Python核心语法
第五章 函数
第六章 面向对象编程
第七章 模块
第八章 异常处理和程序调试
第九章 文件及目录操作
第十章 GUI编程
第十一章 进程和线程
第十二章 数据库管理
第十三章 算法
第十四章 爬虫
第十五章 实战篇
第十六章 后记
Dotcpp在线编译      (登录可减少运行等待时间)