PySqlite简明教程.doc_第1页
PySqlite简明教程.doc_第2页
PySqlite简明教程.doc_第3页
PySqlite简明教程.doc_第4页
PySqlite简明教程.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文的主要目的是作为一个入门级教程,教你一些如何使用PySqlite来操作Sqite的一些基本的语句,更详细的还要去参考想应的文档以及编写相应的测试程序。希望本文对你有帮助。)E* d1E6n0 q_5ud!PMC(v*L0PySqlite的主页地址:/ 上面有关于使用PySqlite的文档#Z6|G b:2z A1N0 依悠编程网3C1J/zYjm1t O,|L 一、安装!aVv:AYm4IL0 依悠编程网 i+pS X$xGw0_r 去PySqlite主页上下载安装包,有windows的版本,现支持Python 2.2和2.3版本。依悠编程网,z r)Rx(af JTFh9M!AY IF0二、创建数据库/打开数据库依悠编程网P+O |1so$k $DR0Sqlite使用文件作为数据库,你可以指定数据库文件的位置。依悠编程网,r$_ G?i|3YY(avS2e CK0 import sqlite依悠编程网p!v;ac*llE!G+bLD0 cx = sqlite.connect(d:/test.db, encoding=cp936)依悠编程网6R$zA(k;0?6zFq8D-o;C0使用sqlite的connect可以创建一个数据库文件,上面我指明了路径。当数据库文件不存在的时候,它会自动创建。如果已经存在这个文件,则打开这个文件。encoding指明保存数据所使用的编码,这里cp936是 Python 中自带的编码,其实就是GBK编码。cx为数据库连接对象。5x3J4nKTt*fF0 njZD7|k:t0三、操作数据库的基本对象;P5W J9PZ vj7H9a0 依悠编程网|*sdld+ed1K&P 3.1 数据库连接对象依悠编程网N;ruN1z#P依悠编程网W|$v Suu6f3Y0U 象前面的cx就是一个数据库的连接对象,它可以有以下操作:依悠编程网eEh:g#i0S/T|0Hc%ew0commit()-事务提交依悠编程网Ex4Fy;1SEr(a依悠编程网+iFK Oy3Z%H*|#Xu rollback()-事务回滚依悠编程网6?%B9As+Xjd M TYp0close()-关闭一个数据库连接依悠编程网3UI&SmAtu r1C!waN0cursor()-创建一个游标依悠编程网9YtO&K1k依悠编程网#m8NT3m9)Y$f 3.2 游标对象依悠编程网gM:s8PO9nK8N/k$X O o+QGK g,aYc.e0所有sql语句的执行都要在游标对象下进行。( R)u2D#xz3K1v0 依悠编程网)gGv,b tnadgZ cu = cx.cursor()(V!Lon)b.0 W!X$b)Jv Uo0这样定义了一个游标。游标对象有以下的操作:依悠编程网0bsO D/H(R5e;u依悠编程网4_p-wz$p&t% execute()-执行sql语句依悠编程网arlWHB#cLt B8WN8a0executemany-执行多条sql语句依悠编程网w:Px:b7Z6Da F7F依悠编程网/mE4wn-vLg#uCH close()-关闭游标依悠编程网7HGj!URC6g依悠编程网j/sT#vUr;c fetchone()-从结果中取一条记录5bC)uGQG$D0 依悠编程网:sne/oJ4UvQ s fetchmany()-从结果中取多条记录zQKkW;O$S0 kL-vwK0fetchall()-从结果中取出多条记录依悠编程网%wu6Q;?#nSK-9uBy e0scroll()-游标滚动依悠编程网s6 _1M_ C4K)m(qo&jg0B_u0关于对象的方法可以去 Python 主页上查看DB API的详细文档。不过PySqlite到底支持DB API到什么程序,我就不知道了。我列出的操作都是支持的,不过我不是都使用过。;D9J8Vi5a;i,Cr&O0 四、使用举例FQ1HO0 依悠编程网Kvhj4i 4.1 建库F2O srF u0 依悠编程网#hs K0HN 前面已经有了,不再重复。(这些例子,如果你有兴趣,可以直接在Python的交互环境下试试)依悠编程网 lm!a5k w3M J B)IQ 04.2 建表,Q$Z JH*m0 %x-S*2n Irk0 cu=cx.cursor()依悠编程网 Wr,KD!l U&o#K依悠编程网p9rA,bs/s_ cu.execute(create table catalog (依悠编程网jX;G7A f8R依悠编程网1E-DF ZdbF6d M id integer primary key,F ziJL vz0 依悠编程网f7F w)Lbn pid integer,:g+;|z/O|!C4e0 依悠编程网h-AKUix#K4o name varchar(10) UNIQUE1yAk8 i D.0 OB/G$g1h#q&F|l0)依悠编程网!hXp7nZ,&) x/f,v&|0上面语句创建了一个叫catalog的表,它有一个主键id,一个pid,和一个name,name是不可以重复的。Z*-GLm0 依悠编程网(? a$a b)u 关于sqlite支持的数据类型,在它主页上面的文档中有描述,可以参考:Version 2 DataTypeszkt&l,Qe)EI0 依悠编程网:|2U t7Qtt8T%h 4.3 insert(插入)$k!cc8CQ0 依悠编程网r2s*q rk-p I%8JE cu.execute(insert into catalog values(0, 0, name1)依悠编程网6Z0H b sTtV Hp,J1|$gy1E0 cu.execute(insert into catalog values(1, 0, hello)依悠编程网 C4A-PA;#RJ$P$a!tl0 mit()u.cu/p9FgY0 依悠编程网#Wu$c#O _A IwI 如果你愿意,你可以一直使用cu游标对象。注意,对数据的修改必须要使用事务语句:commit()或rollback(),且对象是数据库连接对象,这里为cx。E M(D J I0 依悠编程网0sc%dtKG/ 4.4 select(选择)sGSWG)p0 ;tv4a W D0 cu.execute(select * from catalog).,)F1aWZ0 依悠编程网H%r oTK1c cu.fetchall()w)Rp OjbN|!e q0 #gEQ(Y3YneRG0(0, 0, name2), (1, 0, hello)a/i/z 5CO0 W.Kw6mV6Wp)n-IC0fetchall()返回结果集中的全部数据,结果为一个tuple的列表。每个tuple元素是按建表的字段顺序排列。注意,游标是有状态的,它可以记录当前已经取到结果的第几个记录了,因此,一般你只可以遍历结果集一次。在上面的情况下,如果执行fetchone()会返回为空。这一点在测试时需要注意。依悠编程网 Ka依悠编程网.o&tKBZS_ a cu.execute(select * from catalog where id = 1)依悠编程网 Rd9H8P)Ofz.;J,TD2Xd|*O1C(ES0 cu.fetchone()依悠编程网V+Kv1WEyH/ rrVF(M7Xr7.9Du0(1, 0, hello)依悠编程网df:Zoz:M4C7um Icx|6R0对数据库没有修改的语句,执行后不需要再执行事务语句。依悠编程网 TW2q:M hY4.5 update(修改)n3uQ-t9 |7KA0 4v tF,b8HbiT0 cu.execute(update catalog set name=name2 where id = 0)依悠编程网;N Iw V*L7m)p B3Hr#ANAX,K0 mit()2PyooH v8fT0 依悠编程网X:xxH;| cu.execute(select * from catalog)cT9gR8_0 )LO9Y7H.zk0 cu.fetchone()依悠编程网)R;o R%KKw1B(mtf#wK il0(0, 0, name2)依悠编程网V E33O5u Q5vM依悠编程网5Y*|O,Z?#py 4.6 delete(删除)Lv6eoB)EV6B0 3d j wHQ)Az0 cu.execute(delete from catalog where id = 1)v$tR.wb nY0M.?F0 GC?RY0 mit()依悠编程网0AT#o-MZOb依悠编程网, x|#B!l cu.execute(select * from catalog)依悠编程网:HC Aw+y(T)lg-i M h$q1W0 cu.fetchall()依悠编程网.h%M |$S5|dw依悠编程网8_ Q-XG+Q%w (0, 0, name2)依悠编程网X F4bkG5H-Cj依悠编程网w8oR%d4;L(V)Z 以上是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论