数据库类

关注公众号 jb51net

关闭
Pysqlite for Windows v2.6.3(嵌入式数据库python api 接口)

Pysqlite for Windows v2.6.3(嵌入式数据库python api 接口)

热门排行

简介

Pysqlite是针对Windows用户设计的一款Python API接口,安装之后就可以进行数据库的连接、创建和管理,可以将sqlit的操作变得简单起来,详细的操作方法参见下文,需要的朋友赶快下载吧!

pysqlite是一个sqlite 为 python 提供的 api 接口,它让一切对于 sqlite 的操作都变得异常简单。

sqlite,它是一个嵌入式数据库,没有服务器的概念,windows版的就是一个exe,自己把它放到一个合适的目录里,然后把这个目录加入系统的path变量.

软件特点

1、用db.connect()创建数据库连接,连接对象为conn。
2、如果不需要返回查询结果,就直接调用conn.execute()。
3、如果需要返回查询结果,则需要首先通过conn.cursor()创建游标对象cur,并使用cur.fetchone()等函数获取查询结果。
4、根据数据库隔离级别的不同,修改数据库后,可能需要使用conn.commit()手动提交事务。
5、调用相应的close()方法关闭cur及conn。

Pysqlite使用说明

1. 首先导入sqlite3模块
import sqlite3
2. 接着创建数据库链接
conn = sqlite3.connect('test.db')
其中"test.db"是数据库的名称,如果数据库文件不存在,就会自动创建;否则,就打开指定的数据库文件,同时创建一个数据库连接对象,该对象主要有以下操作:
commit(): 事务提交
rollback(): 事务回滚
close(): 关闭一个数据库连接
cursor(): 创建一个游标
其中,commit()方法用于提交事务,rollback()方法用于回滚至上次调用commit()方法的地方。可以通过Connection.isolation_level定义事务隔离级别,当该属性设置成None时,它会自动提交事务,不需要显式地调用commit()方法。
除了直接指定数据库文件之外,还有一种方法是在内存中创建数据库。方法是将":memory:"作为参数传递给sqlite.connect()函数:
conn = sqlite3.connect(":memory:")
3. 接下来就需要创建游标对象
cur = conn.cursor()
从网上找到一个关于游标的具体解释(来源):
游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标总是与一条SQL 选择语句相关联。因为游标由结果集(可以是零条、一条或由相关的选择语句检索出的多条记录)和结果集中指向特定记录的游标位置组成。当决定对结果集进行处理时,必须声明一个指向该结果集的游标。
游标对象主要包含以下方法:
execute(): 执行sql语句
executemany(): 执行多条sql语句
close(): 关闭游标
fetchone(): 从结果中取一条记录
fetchmany(): 从结果中取多条记录
fetchall(): 从结果中取出所有记录
注:为了提高编程效率,PySqlite中的Connection对象同样包含execute()等函数,通过使用这些函数,可以避免创建游标对象,具体可以参考PySqlite的文档说明:点击这里,下面的例子来自前面的文档,介绍如何使用这些方法:
import sqlite3
persons = [
("Hugo", "Boss"),
("Calvin", "Klein")
]
con = sqlite3.connect(":memory:")
# Create the table
con.execute("create table person(firstname, lastname)")
# Fill the table (这里使用PySqlite提供的占用符格式,提高安全性)
con.executemany("insert into person(firstname, lastname) values (?, ?)", persons)
# Print the table contents (使用迭代的方法获取查询结果)
# con.execute(..)方法返回游标对象,避免手动创建游标对象。
for row in con.execute("select firstname, lastname from person"):
print row
print "I just deleted", con.execute("delete from person").rowcount, "rows"
4. 通过execute()方法执行一条sql语句
SQLite中sql语句在语法格式,参考这里。
例如使用create table创建数据库表格:
cur.execute('''create table stocks (
date text,
trans text,
symbol text,
qty real,
price real)''')
表格创建之后,可以使用insert语句插入数据:
cur.execute("""insert into stocks values ('2006-01-05','BUY','RHAT',100,35.14)""")
5. 提交事务
conn.commit()
6. 关闭游标及数据库链接,释放资源
cur.close()
conn.close()Pysqlite使用:
在数据库建立中Windows与Linux也有不同

XP版本:sqlite3.exe test.db
Linux版本:./sqlite3.bin test.db

目前针对不同的python版本,pysqlite有3个版本:2.5和2.6 、2.7,请根据自己的python版本选用.
3.然后就可以打开自己喜欢的编辑器,写一段测试代码了.
4.中文处理要注意的是sqlite默认以utf-8编码存储.
5.另外要注意sqlite仅支持文件锁,换句话说,它对并发的处理并不好,不推荐在网络环境使用,适合单机环境;

import pysqlite2.dbapi2 as sqlite

def runTest():
cx = sqlite.connect('test.db')
cu = cx.cursor()

#create
cu.execute('''create table catalog(
id integer primary key,
pid integer,
name varchar(10) unique
)''')

#insert
cu.execute('insert into catalog values(0,0,"张小山")')
cu.execute('insert into catalog values(1,0,"hello")')
cx.commit()

#select
cu.execute('select * from catalog')
print '1:',
print cu.rowcount
rs = cu.fetchmany(1)
print '2:',
print rs
rs = cu.fetchall()
print '3:',
print rs

#delete
cu.execute('delete from catalog where id = 1 ')
cx.commit()


cu.execute('select * from catalog')
rs = cu.fetchall()
print '4:',
print rs

#select count
cu.execute("select count(*) from catalog")
rs = cu.fetchone()
print '5:',
print rs
cu.execute("select * from catalog")
cu.execute('drop table catalog')

if __name__ == '__main__':
runTest()

大家还下载了