使用sqlite3 模块操作sqlite3数据库
来源:互联网 发布:儿童桌面软件 编辑:程序博客网 时间:2024/05/16 11:47
Python内置了sqlite3
模块,可以操作流行的嵌入式数据库sqlite3。如果看了我前面的使用 pymysql 操作MySQL数据库这篇文章就更简单了。因为它们都遵循PEP 249,所以操作方法几乎相同。
废话就不多说了,直接看代码吧。代码都差不多,首先导入模块,然后建立连接,然后获取游标对象,之后利用游标对象执行SQL语句并获取结果。由于SQL参数需要以元组形式传入,所以下面的代码你会看到('name',)
这样的,这是一个元素的元组形式。
import sqlite3db_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()
下面说说sqlite
和PyMySQL
模块之间的不同点吧。首先sqlite3是一个嵌入式数据库,所以数据库文件就是一个db
文件,在上面的代码中,如果第一次执行就会发现在当前文件夹下多了一个test.db
文件,这就是嵌入式数据库文件。如果我们把数据保存到内存中,程序结束后就消失,那么使用:memory:
作为数据库名称。
另一个不同点就是SQL参数的占位符了,sqlite3
的占位符是?
,而PyMySQL
的占位符是%s
。在使用的时候需要确定具体的数据库文档,查看它的占位符到底是什么。
0 0
- 使用sqlite3 模块操作sqlite3数据库
- 使用 SQLiteManager 操作 sqlite3 数据库
- 使用 SQLiteManager 操作 sqlite3 数据库
- Python使用sqlite3操作数据库
- 如何使用SQLite3操作数据库
- Python 数据库 sqlite3模块
- 使用sqlite3模块访问SQLite数据库
- IOS数据库操作SQLite3使用详解
- IOS数据库操作SQLite3使用详解
- IOS数据库操作SQLite3使用详解
- IOS数据库操作SQLite3使用详解
- IOS数据库操作SQLite3使用详解
- IOS数据库操作SQLite3使用详解
- IOS数据库操作SQLite3使用详解
- IOS数据库操作SQLite3使用详解
- IOS数据库操作SQLite3使用详解
- IOS数据库操作SQLite3使用详解
- IOS数据库操作SQLite3使用详解
- 【bzoj 2751】 [HAOI2012]容易题(easy)
- Eclipse调试进阶-结合Dubbo调试实例分析
- numpy模块笔记之meshgrid
- python3学习笔记:生成器generator
- 教你彻底学会动态规划——进阶篇
- 使用sqlite3 模块操作sqlite3数据库
- HTTPS
- 面试题之进程间通信问题
- Leetcode Week6
- 百度面试题——01排序
- leetcode解题报告7. Reverse Integer
- 分析实时嵌入式系统软件调试问题
- HDU 2647:Reward
- numpy模块笔记之linspace