本专栏包括AI应用开发相关内容分享,包括不限于AI算法部署实施细节、AI应用后端分析服务相关概念及开发技巧、AI应用后端应用服务相关概念及开发技巧、AI应用前端实现路径及开发技巧
适用于具备一定算法及Python使用基础的人群
要为工厂上一个信息化管理项目,该项目仅在本地支持运行,且无需高并发,数据量在w级,考虑各方面因素选定sqlite,本文介绍一些考量过程和简单使用,给大家一定参考。
SQLite是一款轻型的数据库,其数据库引擎库只有几百KB,因此可以方便地嵌入到其他应用程序中使用。无需搭建数据库环境
。
例如,SQLite可以创建GB级别的数据库
并支持高达每秒10万次的并发查询
。
读写操作可以同时进行
。
SQLite支持多个进程同时读取数据库
,而不需要任何额外的锁定或同步机制,这使得它在读取密集型应用程序中表现出色。
SQLite的并发写入性能可能不如其他数据库
,因为它使用了一种简单的锁定机制来确保数据的一致性。在高并发写入的场景下,SQLite可能不是最佳选择。
SQLite支持各种操作系统
,包括Windows、Linux、Unix、Mac OS X等,因此可以方便地在不同的平台之间移植和交换数据。
SQLite还支持多种编程语言
,如C、C++、Java、C#等,这增加了其使用的灵活性和便利性。
与其他数据库系统相比,SQLite在处理速度上表现出色
。例如,在与MySQL和PostgreSQL的测试中,SQLite在某些常见操作上明显更快,有时高达10倍或20倍。
SQLite在处理数据时非常稳健可靠
,能够支持多种类型的数据,并且具有事务处理和数据完整性等关键特性。
SQLite数据库以其轻量级、高效性、跨平台支持、良好的并发读取性能以及健壮的可靠性,在许多应用场景中表现出色。然而,在高并发写入的场景下,可能需要考虑其他数据库系统。
import sqlite3
# 连接到SQLite数据库(如果不存在,则创建它)
# 数据库文件是test.db,如果文件不存在,会自动在当前目录创建
conn = sqlite3.connect('test.db')
# 创建一个游标对象,用于执行SQL命令
cursor = conn.cursor()
# 创建一个名为students的表(如果尚不存在)
cursor.execute('''
CREATE TABLE IF NOT EXISTS students (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER
)
''')
# 提交(保存)更改
conn.commit()
# 插入一条新记录
cursor.execute("INSERT INTO students (name, age) VALUES (?, ?)", ("Alice", 25))
# 提交(保存)更改
conn.commit()
# 查询所有记录
cursor.execute("SELECT * FROM students")
rows = cursor.fetchall()
for row in rows:
print(row)
# 查询特定记录(例如,年龄为25的学生)
cursor.execute("SELECT * FROM students WHERE age=?", (25,))
row = cursor.fetchone()
if row:
print(row)
# 更新一条记录(例如,将Alice的年龄改为26)
cursor.execute("UPDATE students SET age=? WHERE name=?", (26, "Alice"))
# 提交(保存)更改
conn.commit()
# 删除一条记录(例如,删除年龄为26的学生)
cursor.execute("DELETE FROM students WHERE age=?", (26,))
# 提交(保存)更改
conn.commit()
# 关闭数据库连接
conn.close()
每次执行完修改操作(如INSERT、UPDATE、DELETE)后,都需要调用conn.commit()来提交更改,否则更改将不会被保存到数据库中。同时,在完成所有操作后,应该关闭数据库连接以释放资源。
链接:https://pan.baidu.com/s/1DYVXJmgZZc8LgoB091ReNw
提取码:rqhh