注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

且行且记录

点滴记录,行的更远!

 
 
 

日志

 
 

Python的sqlite3还是蛮简单的!  

2016-07-19 08:31:03|  分类: 一些练习 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
上次在改写autotrade.py为面向对象的时候,被数据存储问题困扰好久。之前用的是pickle对象存储的。
这个在之前的函数版用的时候,遇到过有一两次等了好长时间没反应。而且用这个也必须自己控制
数据的保存顺序,数据还要按一定的结构存储,需要控制的细节比较多,为了比较容易存储,就用字典整体打包
成一个整体输入输出。
这两天发现Python的sqlite3的数据库操作,就几句话就能操作数据。也不需要了解太多存储方面的细节。
之前也想到用数据库的,但是因为程序处理的数据不多,也就没用。以为数据库操作比较繁琐。
这两天查看了一些资料,小练了一下,也就会用了。

>>> import sqlite3
>>> con=sqlite3.connect(r'c:\temp\py\sqltest.db') 连接数据库,如果不存在会自动建立一个。
>>> con.isolation_level = None 指定为None这样可以不用每次操作都自己来commit,他会自动帮你commit的!
>>> cur=con.cursor()
>>> sql="select * from test"
>>> cur.execute(sql)
<sqlite3.Cursor object at 0x00C575A0>
>>> rs=cur.fetchall() 取所有结果,如果读个操作则用cur.fetchone()
>>> rs
[('hello',), ('windows',), ('linux',)]
>>> sql2="create table stocks(code text,name text)" 建表
>>> cur.execute(sql2)
<sqlite3.Cursor object at 0x00C575A0>
>>> sql3="insert into stocks(code,name) values('sz002100','tksw')"
>>> cur.execute(sql3)
<sqlite3.Cursor object at 0x00C575A0>
>>> sql3="insert into stocks(code,name) values('sz002115','swtx')" 插入数据
>>> cur.execute(sql3)
<sqlite3.Cursor object at 0x00C575A0>
>>> sql3="insert into stocks(code,name) values('sh601010','wfgf')"
>>> cur.execute(sql3)
<sqlite3.Cursor object at 0x00C575A0>
>>> sql4="select * from stocks" 查询
>>> cur.execute(sql4)
<sqlite3.Cursor object at 0x00C575A0>
>>> rs=cur.fetchall()
>>> rs
[('sz002100', 'tksw'), ('sz002115', 'swtx'), ('sh601010', 'wfgf')]
>>> sql5="update stocks set name='xxxx' where code='sz002115'" 更新数据
>>> cur.execute(sql5)
<sqlite3.Cursor object at 0x00C576A0>
>>> cur.execute(sql4)
<sqlite3.Cursor object at 0x00C576A0>
>>> cur.fetchall()
[('sz002100', 'tksw'), ('sz002115', 'xxxx'), ('sh601010', 'wfgf')]
>>> sql6="delete from stocks where code='sh601010'" 删除数据
>>> cur.execute(sql6)
<sqlite3.Cursor object at 0x00C576A0>
>>> cur.execute(sql4)
<sqlite3.Cursor object at 0x00C576A0>
>>> cur.fetchall()
[('sz002100', 'tksw'), ('sz002115', 'xxxx')]
>>> cur.close()
>>> con.close()
  评论这张
 
阅读(4)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017