Python连接SQLite数据库并进行增册改查操作方法详解
SQLite简介
SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月。至2015年已经有15个年头,SQLite也迎来了一个版本SQLite3已经发布。
SQLite数据库的使用
1.导入PythonSQLite数据库模块
python2.5版本以后内置SQLite数据库
importsqlite3
2.创建/打开数据库
调用connect函数的时候,指定库名称,如果指定的数据库存在就直接打开这个数据库,如果不存在就新创建一个再打开
conn=sqlite3.connect("E:/test.db")
或者也可以在内存中创建
conn=sqlite3.connect(":memory:")
3.数据库连接对象
打开数据库时返回的对象conn就是一个数据库连接对象,它可以有以下操作:
commit()--事务提交
rollback()--事务回滚
close()--关闭一个数据库连接
cursor()--创建一个游标
关于commit(),如果isolation_level隔离级别默认,那么每次对数据库的操作,都需要使用该命令,你也可以设置isolation_level=None,这样就变为自动提交模式。
4.使用游标查询数据库
我们需要使用游标对象SQL语句查询数据库,获得查询对象。通过以下方法来定义一个游标。
cu=conn.cursor()
游标对象有以下的操作:
execute()--执行sql语句
executemany--执行多条sql语句
close()--关闭游标
fetchone()--从结果中取一条记录,并将游标指向下一条记录
fetchmany()--从结果中取多条记录
fetchall()--从结果中取出所有记录
scroll()--游标滚动
SQLite数据库操作
1.创建数据库表
cu.execute("createtableuser(idintegerprimarykey,namevarchar(20)UNIQUE,ageinteger,commenttextNULL)") #创建一张user表,表中有id(主键),名字(唯一),年龄,备注(默认为空)
2.插入数据
请注意避免以下写法:
cu.execute("createtableuser(idintegerprimarykey,namevarchar(20)UNIQUE,ageinteger,commenttextNULL)") #创建一张user表,表中有id(主键),名字(唯一),年龄,备注(默认为空)
正确的做法如下,如果t只是单个数值,也要采用t=(n,)的形式,因为元组是不可变的。
foruserin[(0,'aaa',111,'aaaa'),(1,'bbb',222,'bbbb')]: conn.execute("insertintouservalues(?,?,?,?)",user)#注意user是元组,不可变 conn.commit()#注意插入操作之后要进行提交
3.查询数据
cu.execute("select*fromuser") cu.fetchone()#得到游标的第一个值 cu.execute("select*fromuser") cu.fetchall()#使用游标的fetch函数,fetchall得到所有的查询记录
4.修改数据
cu.execute("updateusersetname='ccc'whereid=0") conn.commit()
5.删除数据
cu.execute("deletefromuserwhereid=1") conn.commit()
更多关于Python连接SQLite数据库并进行增册改查操作方法请查看下面的相关链接
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。