Python操作数据库之数据库编程接口

 更新时间:2022年06月19日 08:18:52   作者:ζ小菜鸡  
这篇文章主要介绍了Python操作数据库之数据库编程接口,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下

一、前言

在项目开发中,数据库应用必不可少。虽然数据库的种类有很多,如SQLite、MySQL、Oracle等,但是它们的功能基本是一样都是一样的,为对数据库统一的操作,大多数语言都提供了简单的、标准化的接口(API)。在Python Database API 2.0规范中,定义了Python数据库API接口的各个部分,如模块接口、连接对象、游标对象、类型对象和构造器、DB API的可选扩展以及可选的错误处理机制等。本文将重点介绍数据库的连接对象和游标对象。

二、连接对象

数据库连接对象(Connection Object)主要提供获取数据库游标对象和提交/回滚事务的方法,以及如何关闭数据库连接。

1.获取连接对象

如何获取连接对象呢?这就需要使用connect()函数。该函数有多个参数,具体使用那个参数,取决于使用的数据库类型。例如,需要访问Oracle数据库和MySQL数据库,必须同时下载Oracle和MySQL数据库模块。这些模块在获取连接对象时,都需要使用connect()函数。

connect()函数常用的参数及说明如下表:

例如,使用PyMySQL模块连接MySQL数据库,示例代码如下:

import pymysql

conn = pymysql.connect(
    host="localhost",
    password="123456",
    db="test",
    charset="utf8",
    cursorclass=pymysql.cursors.DictCursor)

说明: 上述代码中,pymysql.connect()方法使用的参数与上表并不完全相同。在使用时,要以具体的数据库模块为准。

2.连接对象的方法

connect()函数返回连接对象,这个对象表示目前和数据库的会话,连接对象支持的方法如下表所示:

方法名说明close()关闭数据库连接commit()提交事务rollback()回滚事务cursor()获取游标对象,操作数据库,如执行DML操作,调用存储过程等

事务主要用于处理数据量大、复杂度高的数据。如果操作的是一系列的动作,比如小菜鸡给小白转账,

有如下2个操作:

  • 小菜鸡的账户金额减少
  • 李四账户金额增加

这时使用事务可以维护数据库的完整性,保证2个操作要么全部执行,要么全部不执行。

三、游标对象

游标对象(Cursor Object)代表数据中的游标,用于指示抓取数据操作的上下文。主要提供执行SQL语句、调用存储过程、获取查询结果等方法。

如何获取游标对象呢?通过连接对象的cursor()方法,可以获取到游标对象。

游标对象的属性如下所示:

  • description:数据库列类型和值的描述信息。
  • rowcount:回返结果的行数统计信息,如SELECT,UPDATE,CALLPROC等。

游标对象的方法如下表所示:

方法名说明callproc(procname,[,parameters])调用存储过程,需要数据库支持close()关闭当前游标execute(operation,[,parameters])执行数据库操作,SQL语句或者数据库命令executemany(operation,seq_of_params)用于批量操作,如批量更新fetchone()获取查询结果的下一条记录fetchmany(size)获取指定量的记录fetchall()获取结果集的所有记录nextset()跳至下一个可用的结果集arraysize指定使用fetchmany()获取的行数,默认为1setinputsizes(sizes)设置在调用execute*()方法时分配的内存区域大小setoutputsize(sizes)设置列缓冲区大小,对大数据列如LONGS和BLOBS尤其有用

到此这篇关于Python操作数据库之数据库编程接口的文章就介绍到这了,更多相关Python编程接口内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • pandas实现数据合并的示例代码

    pandas实现数据合并的示例代码

    本文主要介绍了pandas实现数据合并的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • python中的psutil模块详解(cpu、内存、磁盘情况、结束指定进程)

    python中的psutil模块详解(cpu、内存、磁盘情况、结束指定进程)

    这篇文章主要介绍了python中的psutil(cpu、内存、磁盘情况、结束指定进程),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • Python借助with语句实现代码段只执行有限次

    Python借助with语句实现代码段只执行有限次

    这篇文章主要介绍了Python借助with语句实现代码段只执行有限次,首先要定义一个能够在with语句中使用的类实现enter和exit,下文详细介绍需要的小伙伴可以参考一下
    2022-03-03
  • Pandas 按索引合并数据集的方法

    Pandas 按索引合并数据集的方法

    今天小编就为大家分享一篇Pandas 按索引合并数据集的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • Win10用vscode打开anaconda环境中的python出错问题的解决

    Win10用vscode打开anaconda环境中的python出错问题的解决

    这篇文章主要介绍了Win10用vscode打开anaconda环境中的python出错,本文给大家分享解决方案,给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • Python3 模块、包调用&路径详解

    Python3 模块、包调用&路径详解

    下面小编就为大家带来一篇Python3 模块、包调用&路径详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • python如何求数组连续最大和的示例代码

    python如何求数组连续最大和的示例代码

    这篇文章主要介绍了python如何求数组连续最大和的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • pytorch实现梯度下降和反向传播图文详细讲解

    pytorch实现梯度下降和反向传播图文详细讲解

    这篇文章主要介绍了pytorch实现梯度下降和反向传播,反向传播的目的是计算成本函数C对网络中任意w或b的偏导数。一旦我们有了这些偏导数,我们将通过一些常数α的乘积和该数量相对于成本函数的偏导数来更新网络中的权重和偏差
    2023-04-04
  • python中列表的含义及用法

    python中列表的含义及用法

    在本篇文章里小编给大家分享的是关于python中列表的含义及用法,需要的朋友们可以参考学习下。
    2020-05-05
  • pygame实现井字棋之第二步逻辑实现

    pygame实现井字棋之第二步逻辑实现

    这篇文章主要介绍了pygame实现井字棋之第二步逻辑实现,文中有非常详细的代码示例,对正在学习python的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-05-05

最新评论