内嵌式数据库sqlite想必大家都听说过,Python内置了sqlite模块,提供了访问sqlite的统一标准。不同的Python版本带的sqlite版本不大一样,如果机器在Python环境中找不到sqlite3,则尝试导入sqlite2或sqlite模块试试。
我用到的机器安装的是Python 2.4.3 (#1, Jun 11 2009, 14:09:37),只能导入sqlite模块,使用方法上没有什么区别的。
以创建一张表,执行插入、查询、更新、删除为例,基本步骤如下:
1)创建数据库连接,如果aa.db文件不存在,则会自动新创建一个
conn = sqlite.connect('/home/admin/aa.db')
2)获取游标
cursor = conn.cursor()
3)创建表
cursor.execute("create table if not exists order_log(id integer primary key autoincrement, itemId varchar(20), orderId varchar(40),errorCode varchar(100))")
4)插入数据
cursor.execute('''insert into order_log values(null, '123456','2019888299934384','DUPLICATE ORDER')''')
cursor.execute('''insert into order_log values(null, '123457','2019888299934385','SESSION INVALIDA')''')
5)查询数据
cursor.execute('select * from order_log')
result = cursor.fetchall()
print result
-------------
[(1, '123456', '2019888299934384', 'DUPLICATE ORDER'), (2, '123457', '2019888299934385', 'SESSION INVALIDA')]
6)更新数据
cursor.execute("update order_log set itemId='888999' where id = 2")
#查询结果
----------------
[(1, '123456', '2019888299934384', 'DUPLICATE ORDER'), (2, '888999', '2019888299934385', 'SESSION INVALIDA')]
7)删除数据
cursor.execute('delete from order_log where id=2')
#查询数据
-----------
[(1, '123456', '2019888299934384', 'DUPLICATE ORDER')]
cursor.execute('delete from order_log')
#查询数据
-----------
[]
8)关闭数据库
cursor.close()
conn.close()
9)其它
#连接内存数据库
conn = sqlite.connect(':memory')
#事务回滚
conn.rollback()
分享到:
相关推荐
python-SQLite3.py
使用Flask和sqlite3编写的项目目录应用程序
python-social-auth:一个让社交网络身份验证变简单的项目
datasette是一个Python 工具,可以为SQLite数据库生成JSON API。因为SQLite不能并发写入,所以API是只读的,但是读性能非常好。 如果你的网站是只读的,这个东西做后端,简单又靠谱
基于Django3.0.5+Python3.7+SQLite的博客系统源码 基于Django3.0.5+Python3.7+SQLite的博客系统源码 基于Django3.0.5+Python3.7+SQLite的博客系统源码 基于Django3.0.5+Python3.7+SQLite的博客系统源码 基于...
关于SQLite,ORM,移动数据库,SharedPreferences等Android持久性库的精选列表
sqlite-web - 用Python编写的基于web的SQLite数据库浏览器
python-sqlite-orm:SQLite的Python对象关系映射器
基于python实现的sqlite队列,方便的处理sqlite并发。并且包含一个十分简洁好用的SQL语句包装。
python_基于python实现的sqlite队列+方便处理sqlite并发
python-lsm-db, SQLite4 LSM数据库的python 绑定 sqlite4键/值存储 LSM的快速 python 绑定。功能:嵌入式零conf数据库。使用游标进行遍历的键支持。事务性( 包括嵌套事务) 。基于单个编写器/多读者MVCC的事务并发...
yum以及相关资源包 centos-yumconf_4-4.3_noarch.rpm python-urlgrabber_2.9.6-2_noarch.rpm python-elementtree_1.2.6-4_i386.rpm ...python-sqlite_1.1.6-1_i386.rpm yum_2.4.0-1.centos4_noarch.rpm
基于python实现的sqlite队列,方便的处理sqlite并发。SqliteQueue是继承了threading.Thread的线程,并且维护了一个向sqlite请求的队列。支持peewee请求。SqlQuery简单的封装了SQL语句
这是我在公司实习时写的测试数据加载到开发板上速度的测试代码,包含的多种不同的测试方法,是相当不错的学习资料,所以在此分享!
教授如何使用单个Python 文件中的多个类操作 SQLite 数据库,在本例中,我使用的是Python3 。 但它也适用于 Python 2x。 在这里,我们使用了更复杂的功能,即生成随机值以填充数据库并将外部数据导入csv的脚本。 ...
python-sqlite-crud 使用SQLite的非常简单的Python CRUD 屏幕截图 看起来是这样的: 当数据库为空时:
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
bottle-demo 基于sqlite3 和bottle 使用示例
yum install -y gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel 二、下载python...
这是我在公司实习时写的测试数据加载到开发板上速度的测试代码,包含的多种不同的测试方法,是相当不错的学习资料,所以在此分享!