请在Chrome、Firefox等现代浏览器浏览本站。另外提供付费解决DEDE主题修改定制等技术服务,如果需要请 加我 QQ 说你的需求。

在python操作数据库中游标的使用方法

cursor便是一个cursor目标,这个cursor是一个完结了迭代器和生成器的mysqldb目标,这个时分cursor中还没有数据,只要比及fetchone......

cursor便是一个cursor目标,这个cursor是一个完结了迭代器和生成器的mysqldb目标,这个时分cursor中还没有数据,只要比及fetchone或fetchall的时分才回来一个元组tuple,才支撑len和index操作,这也是它是迭代器的原因。但一起为什么说它是生成器呢?由于cursor只能用一次,即每用完一次之后记载其方位,比及下次再取的时分是从凯发k8国际官网游标处再取而不是从头再来,而且fetch完悉数的数据之后,这个cursor将不再有运用价值了,即不再能fetch到数据了。

数据库支撑

运用简略的纯文本只能完结有退限的功用,所需求引进数据库,完结更强壮的功用,本节运用的简略数据库sqlite 。

sqlite 和pysqlite

sqlite是十分闻名的开源嵌入式数据库软件,它能够嵌入到其他程序中运用,而且供给sql接口用来查询,十分便利。它的官方站点为http://www.sqlite.org。

而pysqlite 则是一个sqlite 为 python 供给的 api 接口,它让悉数关于 sqlite 的操作都变得反常简略

在python2.5版别这后,sqlite的优势在于它的一个包装现已被包含在规范库内,所以咱们能够直接运用。

入门操作

能够将sqlite作为名为sqlite3的模块导入。之后就能够创立一个到数据库文件的衔接----假如文件不存在就会被创立----经过供给一个文件名:

 import sqlite3
 conn= sqlite3.connect # 创立数据库
 cu =conn.cursor #能取得衔接的游标
#创立数据表
 cu.execute unique
#刺进两条数据
 cu.execute )
 cu.execute )
 conn.commit
#挑选
 cu.execute
 cu.fetchall 
[, ]
 cu.execute
 cu.fetchall
[]
#修正
 cu.execute
 cx.commit
 cu.execute
 cu.fetchone

#删去
 cu.execute
 cx.commit
 cu.execute
 cu.fetchall
[]

衔接

为了运用根底数据库系统,首要有必要衔接到它,这个时分需求运用具有称号的connect函数,该函数有多个参数,而具体用哪个参数取决于数据库。

connect函数的常用参数:

connect函数回来衔接目标。这个目标表明现在和数据库的会话。衔接目标支撑的办法如下;

衔接目标办法:

commit 办法总是可用的,但假如数据库不支撑业务,它就没有任何效果。假如封闭了衔接但还有未提交的业务,它们会隐式地回滚---可是只要在数据库支撑持回滚的时分才能够。

rollback 办法或许不可用,由于不是悉数的数据库都支撑业务。假如可用,那么就能够“吊销”悉数未提交的业务。

cursor 办法将咱们引进别的一个主题:游标目标。经过游标扫行sql 查询并查看成果。游标衔接支撑更多的办法,而且或许在程序中更好用。

游标:

cu = conn.cursor

能取得衔接的游标,这个游标能够用来履行sql查询。

conn.commit

完结刺进而且做出某些更改后保证现已进行了提交,这样才能够将这些修正真实地保存到文件中。

游标目标办法:

游标目标特性:

cu.fetchone

fetchall回来成果会集的悉数数据,成果为一个tuple的列表。每个tuple元素是按建表的字段顺序排列。留意,游标是有状况的,它能够记载当时现已取到成果的第几个记载了,因而,一般你只能够遍历成果集一次。在上面的情况下,假如履行fetchone会回来为空。这一点在测验时需求留意。

conn.close

能够在每次修正数据库后都进行提交,而不是仅仅在预备封闭才提交,预备封闭数据时,运用close 办法。