Feb 26

用python访问sqlite 不指定

zeus , 10:11 , python , 评论(0) , 引用(0) , 阅读(229) , Via 本站原创 | |
1.首先去www.sqlite.org下载一个sqlite,它是一个嵌入式数据库,没有服务器的概念,windows版的就是一个exe,自己把它放到一个合适的目录里,然后把这个目录加入系统的path变量.
2.然后去找个pysqlite,这是python访问sqlite的接口,地址在这里 : http://initd.org/tracker/pysqlite
目前针对不同的python版本,pysqlite有两个版本:2.3和2.4,请根据自己的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()
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]