以下为授权转载的一盎司科技公众号文章
SQLite是一款开源的轻量级的关系型数据库,兼容主流操作系统,并可以在主流编程语言中使用。这里简单介绍在Python中使用SQLite数据库。
示例代码地址:
GitHub地址:https://github.com/iounce/python-cpp-demo
Gitee地址:https://gitee.com/iounce_admin/python-cpp-demo
环境
-
Windows操作系统:Windows10(21H2,19044.1766)
-
C++开发环境:Visual Studio 2022社区版
-
Python:3.10.4
sqlite3库
Python中可以使用sqlite3库来操作SQLite数据库,常用API如下:
-
sqlite3.connect: 连接数据库,如果指定的数据库不存在则创建一个新的;
-
connection.cursor:创建一个游标,用来操作当前连接下的数据库;
-
cursor.execute:执行一条sql语句,如insert,select语句;
-
cursor.executescript:执行多条sql语句,如多个insert语句;
-
cursor.fetchall:获取查询结果集的所有行数据,返回一个列表;
-
connection.commit:提交当前事务,真正写入数据;
-
connection.rollback:回滚上一次的提交;
-
connection.close:关闭数据库连接。
Sqlite封装类
根据上述API,这里简单做个封装处理,方便调用。
-
构造函数__init__:增加数据库文件名的入参,并初始化变量等。
-
打开函数open():打开SQLite连接,并获取游标用于后续调用,这里加入异常判断。
-
写入函数insert()/insert_batch():根据设置好的SQL语句,执行写入操作,这里增加了批量接口,方便多条语句的执行。
-
查询函数query():调用API和insert()函数类似,都是execute接口,但是查询会调用fetch_all接口,用于返回结果。
-
执行函数execute():这里自定义的执行函数,其实为了方便封装create和delete函数,其实都是调用execute接口,只是方便调用者区分使用,其实调用insert()函数也可以。
-
关闭函数close():用于关闭游标和连接,释放资源。
示例代码
接下来,我们使用封装好的Sqlite类来编写测试代码,简单起见,直接写SQL语句调用。首先打开数据库,创建名为tb_test的表,然后写入测试数据,接着查询数据,最后关闭连接。
这里只是简单介绍Python下的SQLite的使用,可以根据需要继续完善封装类。