当前位置: 欣欣网 > 码农

几行代码教你操作小型数据库sqlite

2024-03-04码农
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 数据库的优点是体积小、运行速度快,尤其适合一些嵌入式设备或需要大量读写的场景。


Sora最近老火了,Sora 的出现会对短视 频、广告、游戏、影视行业等产业格局一定会被重塑,目前 Sora 还没正式开放注册,大家看到的使用体验大部分都来自官网,或者少部分 的用户分享。

为了避免更多读者受骗,我们直接给大家整了一个免费的。

注意是下面【 Python都知道 】公众号,点击下方的公众号卡片,然后回复【 sora ,即可获取最新 Sora 的最全资料。


目前已经分享了,如何申请 Sora 的内测,以及最新关于 Sora 的技术特点,使用教程、变现机遇等等。