python sqlite3
来源:互联网 发布:剑灵24人本优化不卡 编辑:程序博客网 时间:2024/05/29 14:51
Python2.5之后,内置了SQLite3,成为了内置模块,这给我们省了安装的功夫,只需导入即可~
2. 创建/打开数据库
在调用connect函数的时候,指定库名称,如果指定的数据库存在就直接打开这个数据库,如果不存在就新创建一个再打开。
3.数据库连接对象
打开数据库时返回的对象cx就是一个数据库连接对象,它可以有以下操作:
- commit()--事务提交
- rollback()--事务回滚
- close()--关闭一个数据库连接
- cursor()--创建一个游标
关于commit(),如果isolation_level隔离级别默认,那么每次对数据库的操作,都需要使用该命令,你也可以设置isolation_level=None,这样就变为自动提交模式。
4.使用游标查询数据库 (使用游标比较方便执行sql语句等操作)
我们需要使用游标对象SQL语句查询数据库,获得查询对象。 通过以下方法来定义一个游标。
- execute()--执行sql语句
- executemany--执行多条sql语句
- close()--关闭游标
- fetchone()--从结果中取一条记录,并将游标指向下一条记录
- fetchmany()--从结果中取多条记录
- fetchall()--从结果中取出所有记录
- scroll()--游标滚动
1. 建表
上面语句创建了一个叫catalog的表。键值之间用,分割。创建了id tnterger类型的主键,pid interger类型,name 最大长度为10的text类型唯一的,nickname text类型,默认为null
2. 插入数据
请注意避免以下写法:
pid=200
c.execute("... where pid = '%s'" % pid)
cx.execute("insert into catalog values (?,?,?,?)", t)
3.查询——每次查询 必须先筛选cu.execute,然后cu.fetchall()
要提取查询到的数据,使用游标的fetch函数,如:用了 fetchall
[(0, 10, u'abc', u'Yu'), (1, 20, u'cba', u'Xu')]
如果我们使用cu.fetchone(),则首先返回列表中的第一项,再次使用,则返回第二项,依次下去.
4.修改
In [13]: cx.commit()
注意,修改数据以后提交
5.删除
cx.commit()
6.使用中文
请先确定你的IDE或者系统默认编码是utf-8,并且在中文前加上u
cu.execute("update catalog set name=? where id = 0",x)
cu.execute("select * from catalog")
cu.fetchall()
[(0, 10, u'\u9c7c', u'Yu'), (1, 20, u'cba', u'Xu')]
如果要显示出中文字体,那需要依次打印出每个字符串
....: for element in item:
....: print element,
....:
0 10 鱼 Yu
1 20 cba Xu
7.Row类型
下面举例说明
In [31]: c = cx.cursor()
In [32]: c.execute('select * from catalog')
Out[32]: <sqlite3.Cursor object at 0x05666680>
In [33]: r = c.fetchone()
In [34]: type(r)
Out[34]: <type 'sqlite3.Row'>
In [35]: r
Out[35]: <sqlite3.Row object at 0x05348980>
In [36]: print r
(0, 10, u'\u9c7c', u'Yu')
In [37]: len(r)
Out[37]: 4
In [39]: r[2] #使用索引查询
Out[39]: u'\u9c7c'
In [41]: r.keys()
Out[41]: ['id', 'pid', 'name', 'nickname']
In [42]: for e in r:
....: print e,
....:
0 10 鱼 Yu
使用列的关键词查询
Out[43]: 0
In [44]: r['name']
Out[44]: u'\u9c7c'
- python sqlite3
- python-sqlite3
- python sqlite3
- python sqlite3
- python与sqlite3分析
- Python sqlite3和单元测试
- Python 之SQLite3
- python 使用sqlite3
- python sqlite3 报错
- python 远程操作Sqlite3
- python连接sqlite3出错
- Python操作Sqlite3
- python--sqlite3 module
- python操作sqlite3
- python操作sqlite3
- Python压缩Sqlite3数据库
- python sqlite3插入测试
- sqlite3 python 数据库
- Bootstrap辅助类和响应式工具
- js事件应用--基础(事件对象、鼠标事件、键盘事件)
- Codeforces #831D: Office Keys 题解
- Keras学习---RNN模型建立篇
- Codeforces-831E Cards Sorting(树状数组)
- python sqlite3
- java技术之静态代理
- 冒泡排序
- Hadoop发行版
- 如何判断并求出一个整数x是否可以表示成n(n>=2)个连续正整数的和。
- 2017暑期集训 Day 3 搜索与并查集
- USACO-section1.5 Prime Palindromes[回文数][素数]
- 创建WebP图片|Android Studio 谷歌图像文件格式
- 公众号“今日作文素材”文章列表 (20170715-20170721)