- 前言
上篇文章 聊到 Python 处理 Mysql 数据库最常见的两种方式,本篇文章继续说另外一种比较常用的数据库:Sqlite
Sqlite 是一种 嵌入式数据库,数据库就是一个文件,体积很小,底层由 C 语言编写,经常被集成到移动应用程序中
事实上,Python 内置了 sqlite3 模块,不需要安装任何依赖,就可以直接操作 Sqlite 数据库
- 准备
和 Python 操作 Mysql 类似,操作 Sqlite 主要包含下面 2 种方式:
sqlite3 + 原生 SQL
SQLAlchemy + ORM
- sqlite3 + 原生 SQL
由于 Python 内置了 sqlite3 模块,这里直接导入就可以使用了
导入内置模块sqlite3
import sqlite3
首先,我们使用 sqlite3 的 connnect() 方法创建一个数据库连接对象,如果数据库不存在,就自动在对应目录下新建一个数据库文件
创建数据库连接对象,如果数据库不存在,就自动新建一个数据库文件
还可以指定其他参数,包含:超时时间
self.conn = sqlite3.connect(self.path_db)
然后,通过数据库连接对象获取一个操作数据库的 游标实例
获取操作数据库的游标对象
self.cursor = self.conn.cursor()
接着,使用数据库连接对象执行创建表的 SQL 语句,在数据库内新建一张表
创建表
SQL_CREATE_TABLE = ‘’‘CREATE TABLE IF NOT EXISTS PEOPLE
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL);’’’
def create_db_table(self):
“”"
初始化表
:return:
“”"
self.conn.execute(SQL_CREATE_TABLE)
接下来,我们通过增删改查来操作数据表
1、新增
同样以新增单条数据和多条数据为例
对于单条数据的插入,只需要编写一条插入的 SQL 语句,然后作为参数执行上面数据库连接对象的 execute(sql) 方法,最后使用数据库连接对象的 commit() 方法将数据提交到数据库中
插入一条数据
SQL_INSERT_ONE_DATA = “INSERT INTO PEOPLE(id,name,age) VALUES(3,‘xag’,23);”
def insert_one(self):
“”“新增一条数据”""
try:
self.conn.execute(SQL_INSERT_ONE_DATA)
# 必须