使用sqlite3 模块操作sqlite3数据库

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: Python内置了sqlite3模块,可以操作流行的嵌入式数据库sqlite3。如果看了我前面的使用 pymysql 操作MySQL数据库这篇文章就更简单了。

Python内置了sqlite3模块,可以操作流行的嵌入式数据库sqlite3。如果看了我前面的使用 pymysql 操作MySQL数据库这篇文章就更简单了。因为它们都遵循PEP 249,所以操作方法几乎相同。

废话就不多说了,直接看代码吧。代码都差不多,首先导入模块,然后建立连接,然后获取游标对象,之后利用游标对象执行SQL语句并获取结果。由于SQL参数需要以元组形式传入,所以下面的代码你会看到('name',)这样的,这是一个元素的元组形式。

import sqlite3

db_file = 'test.db'

create_table_sql = '''\
CREATE TABLE test(
name VARCHAR(255) PRIMARY KEY ,
value VARCHAR(255) NOT NULL 
)
'''

insert_table_sql = """\
INSERT INTO test VALUES(?,?)  
"""

query_table_sql = """\
SELECT *
FROM test WHERE `name`=?
"""

delete_table_sql = """\
DROP TABLE test
"""

print('--------------sqlite3--------------')
print(f'version:{sqlite3.version}')
print(f'sqlite_version:{sqlite3.sqlite_version}')

with sqlite3.connect(db_file) as connection:
    try:
        cursor = connection.cursor()
        cursor.execute(create_table_sql)

        cursor.execute(insert_table_sql, ('name', 'yitian'))
        cursor.execute(insert_table_sql, ('count', '100'))

        cursor.execute(query_table_sql, ('name',))
        name = cursor.fetchone()
        print(name)
        cursor.execute(query_table_sql, ('count',))
        count = cursor.fetchone()
        print(count)

        cursor.execute(delete_table_sql)

    finally:
        cursor.close()

下面说说sqlitePyMySQL模块之间的不同点吧。首先sqlite3是一个嵌入式数据库,所以数据库文件就是一个db文件,在上面的代码中,如果第一次执行就会发现在当前文件夹下多了一个test.db文件,这就是嵌入式数据库文件。如果我们把数据保存到内存中,程序结束后就消失,那么使用:memory:作为数据库名称。

另一个不同点就是SQL参数的占位符了,sqlite3的占位符是?,而PyMySQL的占位符是%s。在使用的时候需要确定具体的数据库文档,查看它的占位符到底是什么。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
存储 安全 API
陪玩平台中支付与结算模块的代码,陪玩系统数据库设计与代码实现
第三方支付平台对接涉及与微信支付、支付宝等API接口的调用,确保用户支付流程顺畅。结算模块根据业务规则计算陪玩师收益,强调安全性、异常处理、可扩展性和日志记录。数据库设计涵盖用户、陪玩者、订单等信息的存储管理,确保系统稳定运行。
98 12
|
3月前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
461 15
|
4月前
|
存储 SQL 数据库
数据库知识:了解SQLite或其他移动端数据库的使用
【10月更文挑战第22天】本文介绍了SQLite在移动应用开发中的应用,包括其优势、如何在Android中集成SQLite、基本的数据库操作(增删改查)、并发访问和事务处理等。通过示例代码,帮助开发者更好地理解和使用SQLite。此外,还提到了其他移动端数据库的选择。
89 8
|
5月前
|
存储 缓存 关系型数据库
sqlite 数据库 介绍
sqlite 数据库 介绍
108 0
|
5月前
|
Web App开发 SQL 数据库
使用 Python 解析火狐浏览器的 SQLite3 数据库
本文介绍如何使用 Python 解析火狐浏览器的 SQLite3 数据库,包括书签、历史记录和下载记录等。通过安装 Python 和 SQLite3,定位火狐数据库文件路径,编写 Python 脚本连接数据库并执行 SQL 查询,最终输出最近访问的网站历史记录。
86 4
|
5月前
|
存储 关系型数据库 数据库
轻量级数据库的利器:Python 及其内置 SQLite 简介
轻量级数据库的利器:Python 及其内置 SQLite 简介
113 3
|
5月前
|
应用服务中间件 PHP Apache
PbootCMS提示错误信息“未检测到您服务器环境的sqlite3数据库扩展...”
PbootCMS提示错误信息“未检测到您服务器环境的sqlite3数据库扩展...”
|
6月前
|
SQL 数据库连接 数据库
30天拿下Python之sqlite3模块
30天拿下Python之sqlite3模块
42 0
|
6月前
|
数据库 数据库管理
qt对sqlite数据库多线程的操作
本文总结了在Qt中进行SQLite数据库多线程操作时应注意的四个关键问题,包括数据库驱动加载、加锁、数据库的打开与关闭,以及QsqlQuery变量的使用。
345 1
|
6月前
|
存储 API 数据库
QML使用Sqlite数据库存储ListModel数据
本文介绍了在QML中使用Sqlite数据库存储ListModel数据的方法,包括如何创建数据库、读取数据、动态添加和删除数据,以及如何在程序启动和退出时与数据库同步数据。
144 2

热门文章

最新文章