几行代码教你操作小型数据库 SQLite
创始人
2025-07-14 01:10:59
0

SQLite介绍

SQLite 是一款轻型、小巧、高效的关系型数据库管理系统,它可以在任何操作系统中运行。而且它的驱动程序也非常丰富,各种语言都有对应的驱动。

这里我们使用 Python 自带的 sqlite3 模块来演示如何使用 Python 操作 SQLite 数据库。

引入模块

使用 Python 操作 SQLite 需要先引入 sqlite3 模块。

import sqlite3

连接数据库

连接 SQLite 数据库可以使用 connect() 方法,它有一个必需参数是数据库文件名,如果文件不存在则会自动创建,如果文件存在则会连接该文件。

# 连接或创建数据库
conn = sqlite3.connect('test.db')

connect() 方法还可以有其他参数,例如 timeout,它表示在等待某个锁的时间内如果没有成功,则会抛出 sqlite3.BusyError 异常。

创建表

创建表可以执行 SQL 语句,也可以使用 Python 操作数据库的 API。

# 创建表
conn.execute('''
CREATE TABLE if not exists company
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL);
''')

插入数据

插入数据需要使用 INSERT 语句,语法为:

conn.execute(f"INSERT INTO company (ID,NAME,AGE,ADDRESS,SALARY)
              VALUES ({id}, '{name}', {age}, '{address}', {salary})")

或者使用参数化 SQL 语句,语法为:

conn.execute("INSERT INTO company (ID,NAME,AGE,ADDRESS,SALARY) VALUES (?, ?, ?, ?, ?)", 
             (id, name, age, address, salary))

其中 ? 表示占位符,后面的元组中为需要插入的数据。

查询数据

查询数据需要使用 SELECT 语句,语法为:

cursor = conn.execute("SELECT ID, NAME, AGE, ADDRESS, SALARY FROM company")
for row in cursor:
    print(f"ID = {row[0]}, NAME = {row[1]}, AGE = {row[2]}, ADDRESS = {row[3]}, SALARY = {row[4]}")

更新数据

更新数据需要使用 UPDATE 语句,语法为:

conn.execute(f"UPDATE company SET SALARY = {salary} WHERE ID = {id}")

删除数据

删除数据需要使用 DELETE 语句,语法为:

conn.execute(f"DELETE from company where ID = {id}")

提交事务

Python 操作 SQLite 数据库自动开启一个事务,如果要提交事务,需要使用 commit() 方法。

conn.commit()

关闭数据库连接

不需要访问数据库时,需要关闭连接。

conn.close()

总结

通过上述代码可以看出,使用 Python 操作 SQLite 数据库非常简单,只需要使用一些简单的 SQL 语句或者 Python API 就可以完成增删改查等操作。SQLite 数据库的优点是体积小、运行速度快,尤其适合一些嵌入式设备或需要大量读写的场景。

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
P2P的自白|我不生产内容,我... 现在一提起P2P,人们就会联想到正在被有关部门“围剿”的互联网理财服务。×租宝事件使得劳...