简单叙述使用Python操作SQLite数据库的步骤,python+sqlite
Python中操作Sqlite的正确实现方法分析-Python教程-新客网
Python Sqlite操作的正确实现方法分析
XKER。COM时间:2010-03-09点击:
617
时间
Python编程语言有很多优点,其编程特点主要体现在扩展性上。那么在下一篇文章中,我们会详细介绍一些关于Python操作Sqlite的应用技巧,希望能给你一些帮助。
一.安装
转到PySqlite主页下载安装包。有一个版本的windows,现在支持Python 2.3和2.5版本。
其次,创建/打开数据库
Python Sqlite使用文件作为数据库,您可以指定数据库文件的位置。
导入sqlite3 CX=SQLite . connect( d:/test . db ,编码=cp936 )
使用sqlite的connect创建一个数据库文件,我在上面指出了路径。当数据库文件不存在时,将自动创建它。如果该文件已经存在,请打开它。编码表示用于保存数据的编码。这里,cp936是Python自带的代码,实际上是GBK代码。Cx是一个数据库连接对象。
三、操作数据库的基本对象
3.1数据库连接对象
前面的cx是一个数据库连接对象,可以有如下操作:
Commit() -事务提交
Rollback() -事务回滚
Close() -关闭数据库连接。
Cursor() -创建一个游标
3.2光标对象
所有sql语句都必须在游标对象下执行。
Cu=cx.cursor()因此定义了一个游标。光标有以下操作:
Execute() -执行sql语句
Executemany -执行多个sql语句。
Close() -关闭光标。
Fetchone() -记录结果
Fetchmany() -从结果中获取多条记录。
fetl()-从结果中获取多条记录。
Scroll() -光标滚动
对于对象的方法,可以去Python主页查看DB API的详细文档。但是PySqlite?我不知道DB API到底支持哪些程序。我列出的操作都是支持的,但是我没有全部用过。
四。使用示例
4.1建立数据库
前面已经有一个了,就不赘述了。(这些例子,如果你有兴趣,可以直接在Python的交互环境下尝试)
4.2表格构建
cu=cx.cursor() cu.execute( 创建表目录(id整数主键,pid整数,name varchar(10)唯一))
上面的语句创建了一个名为catalog的表,它有一个主键id、一个pid和一个不能重复的名称。
Sqlite for Python操作支持的数据类型在其主页上方的文档中有描述。请参考:版本2数据类型?
4.3插入(插入)
Cu . execute( insert into catalog values(0,0, name 1 ))Cu . execute( insert into catalog values(1,0, hello)) cx.commit()
如果愿意,您可以随时使用cu光标对象。注意,数据修改必须使用事务语句:commit()或rollback(),对象是数据库连接对象,这里是cx。
4.4选择(select)
Cu . execute( select * from catalog )Cu . fetchall()[(0,0, name2 ),(1,0, hello)]fetchall()
返回结果集中的所有数据,结果是一个元组列表。每个元组元素按照表中字段的顺序排列。请注意,游标是有状态的,它可以记录已获得结果的记录。因此,通常只能遍历结果集一次。在上面的例子中,如果执行fetchone(),它将返回null。这应该在测试过程中注意到。
Cu . execute( select * from catalog where id=1 )Cu . fetchone()(1,0, hello )
对于数据库中未被修改的语句,执行后不需要执行事务语句。
4.5更新(修改)
Cu . execute( update catalog set name= name 2 where id=0 )CX . commit()Cu . execute( select * from catalog )Cu . fetchone()(0,0, name2) 4.6 delete(删除)
Cu . execute( delete from catalog where id=1 )CX . commit()Cu . execute( select * from catalog )Cu . fetchall()[(0,0, name2)]
以上是一个关于如何用Python操作Sqlite的简单例子。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。