首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python基础教程 连接和游标

13.1.3 连接和游标

要使用底层的数据库系统,必须先连接到它,为此可使用名称贴切的函数connect。这个函数接受多个参数,具体是哪些取决于要使用的数据库。作为指南, DB API定义了表13-3所示的参数。推荐将这些参数定义为关键字参数,并按表13-3所示的顺序排列。这些参数都应该是字符串。

表13-3 函数connect的常用参数

参 数 名 描 述 是否可选

dsn 数据源名称,具体含义随数据库而异 否

user 用户名 是

password 用户密码 是

host 主机名 是

database 数据库名称 是

13.2.1节和第26章提供了函数connect的具体使用示例。

函数connect返回一个连接对象,表示当前到数据库的会话。连接对象支持表13-4所示的方法。

表13-4 连接对象的方法

方 法 名 描 述

close() 关闭连接对象。之后,连接对象及其游标将不可用

commit() 提交未提交的事务——如果支持的话;否则什么都不做

rollback() 回滚未提交的事务(可能不可用)

cursor() 返回连接的游标对象

方法rollback可能不可用,因为并非所有的数据库都支持事务(事务其实就是一系列操作)。可用时,这个方法撤销所有未提交的事务。

方法commit总是可用的,但如果数据库不支持事务,这个方法就什么都不做。关闭连接时,如果还有未提交的事务,将隐式地回滚它们——但仅当数据库支持回滚时才如此!如果你不想依赖于这一点,应在关闭连接前提交。只要提交了所有的事务,就无需操心关闭连接的事情,因为作为垃圾被收集时,连接会自动关闭。然而,为安全起见,还是调用close吧,因为这样做不需要长时间敲击键盘。

说到方法cursor,就必须说说另一个主题:游标对象。你使用游标来执行SQL查询和查看结果。游标支持的方法比连接多,在程序中的地位也可能重要得多。表13-5概述了游标的方法,而表13-6概述了游标的属性。

表13-5 游标对象的方法

名 称 描 述

callproc(name[, params]) 使用指定的参数调用指定的数据库过程(可选)

close() 关闭游标。关闭后游标不可用

execute(oper[, params]) 执行一个SQL操作——可能指定参数

executemany(oper, pseq) 执行指定的SQL操作多次,每次都序列中的一组参数

fetchone() 以序列的方式取回查询结果中的下一行;如果没有更多的行,就返回None

fetchmany([size]) 取回查询结果中的多行,其中参数size的值默认为arraysize

fetchall() 以序列的序列的方式取回余下的所有行

nextset() 跳到下一个结果集,这个方法是可选的

setinputsizes(sizes) 用于为参数预定义内存区域

setoutputsize(size[, col]) 为取回大量数据而设置缓冲区长度

表13-6 游标对象的属性

名 称 描 述

description 由结果列描述组成的序列(只读)

rowcount 结果包含的行数(只读)

arraysize fetchmany返回的行数,默认为1

有些方法将在本章后面详细讨论,还有一些(如setinputsizes和setoutputsizes)则不会讨论。有关这些方法的详细信息,请参阅前面提到的PEP。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190331B04EF700?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券