您的位置:首页 > 编程语言 > Python开发

python 中使用sqlite数据库

2011-11-03 13:33 281 查看
sqlite3是使用文件作为数据库,它属于轻量级数据库,支持在多平台下使用。

SQLite数据库是一款非常小巧的嵌入式开源数据库软件,也就是说没有独立的维护进程,所有的维护都来自于程序本身。它是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如
Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月.至今已经有10个年头,SQLite也迎来了一个版本
SQLite3已经发布。

在python语言中使用sqlite的方法如下:

1.引用sqlite3数据库

importsqlite3

2.是欧诺有sqlite的connect()方法创建数据库(如果数据库不存在的情况下)或打开数据库,可以在这个方法中数据的编码格式,例:

#连接tat.db数据库
conn=sqlite3.connect('/home/ubuntu/tat.db',encoding=‘cp936’)


cp936是python中自带的编码格式,其实也就是GBK编码。


3.常用的方法

上述的数据库对象conn常用的操作有:

commit()--------------------事物提交

rollback()-------------------事物回滚

close()---------------------关闭一个数据连接

cursor()--------------------创建一个游标

创建的游标对象,可以执行sql语句等方法,例:

execute()----------------------执行sql语句

executemany()------------------执行多条sql语句

close()-----------------------关闭游标

fetchone()---------------------从结果中取一条记录

fetchmany()--------------------从结果中取多条语句

fetchall()---------------------从结果中取所有的记录

scroll()-----------------------游标滚动


4.关于sql语句建表和数据库的增删改查操作与MYsql数据库相同



#!/usr/bin/python
#-*-coding:utf-8-*-

importsqlite3

#连接数据库tat
conn=sqlite3.connect('/home/ubuntu/tat.db')
#设置事务隔离级别,默认用户修改数据需要commit才能修改成功,设置为None则每次修改都自动提交,否则为""
#conn.isolation_level=None

#获取到游标对象
cu=conn.cursor()
#创建一个表
cu.execute('''createtableifnotexistsuser(
idintegerprimarykeyautoincrement,
namevarchar(10))''')

#插入数据
cu.execute('insertintouser(name)values("jordy")')

#如果隔离级别不是自动提交就需要手动执行commit
conn.commit()

#用游标来查询就可以获取到结果
cu.execute("select*fromuser")
#获取所有结果
res=cu.fetchall()
forrowinres:
printrow[0],row[1].encode('utf-8')

#更新语句
cu.execute('updateusersetname="邪少"whereid=2')
conn.commit()

#删除语句
cu.execute('deletefromuserwhereid=1')
conn.commit()


附sqlite3官方网站:http://docs.python.org/library/sqlite3.html#sqlite3-controlling-transactions
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: