如何使用python创建和维护sqlite3数据库

sqlite3是轻量级运行和模拟关系数据库的有效工具。

这里参考网络资料,示例python创建维护sqliite3数据库,演示如何插入、查询、更新和删除数据。

1 创建数据库

使用 connect() 函数创建了一个到名为 case.db 的数据库的连接。

复制代码
import sqlite3

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

2 创建表

在创建数据库后,就可以进一步创建表,示例python代码如下。

创建包含 id、name、age 和 gender 列的表。

id 列是主键,表示一个学生的唯一标识符;

name 列存储学生的姓名;

age 列存储学生的年龄;

gender 列存储学生的性别。

复制代码
import sqlite3

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

# 创建表
conn.execute('''CREATE TABLE students
             (id INT PRIMARY KEY     NOT NULL,
             name           TEXT    NOT NULL,
             age            INT     NOT NULL,
             gender         TEXT    NOT NULL);''')

# 提交更改
conn.commit()

# 关闭连接
conn.close()

3 插入数据

创建完表后,就可以插入数据,示例代码如下。

使用 INSERT INTO 语句将student数据插入到表中。

复制代码
import sqlite3

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

# 插入数据
conn.execute("INSERT INTO students (id, name, age, gender) \
              VALUES (1, 'Tom', 20, 'Male')")

# 提交更改
conn.commit()

# 关闭连接
conn.close()

4 查询数据

在插入数据后,就可以示例数据查询了。

使用execute() 执行 SELECT 语句,使用for循环遍历查询结果。

在每次循环中,打印出每个学生的 ID、姓名、年龄和性别。

复制代码
import sqlite3

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

# 查询数据
cursor = conn.execute("SELECT id, name, age, gender from students")
for row in cursor:
   print("ID = ", row[0])
   print("Name = ", row[1])
   print("Age = ", row[2])
   print("Gender = ", row[3])

# 关闭连接
conn.close()

输出如下

ID = 1

Name = Tom

Age = 20

Gender = Male

5 更新数据

由于数据库中已有数据,这里就可以示例数据更新了。

执行UPDATE语句,将ID为1的学生的年龄更新为 21。

复制代码
import sqlite3

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

# 更新数据
conn.execute("UPDATE students set age = 21 where id = 1")

# 提交更改
conn.commit()

# 关闭连接
conn.close()

6 删除数据

这里是删除数据示例,删除 "students" 表中 ID 为 1 的学生的记录。

复制代码
import sqlite3

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

# 删除数据
conn.execute("DELETE from students where id = 1")

# 提交更改
conn.commit()

# 关闭连接
conn.close()

reference


SQLite 创建一个表在 sqlite3 Python 中

https://geek-docs.com/sqlite/sqlite-questions/253_sqlite_creating_a_table_in_sqlite3_python.html

相关推荐
数据库小学妹8 分钟前
存算分离到底分离了什么?四条架构变化与选型判断
数据库·数据库架构·云原生数据库·缓存一致性·存算分离
FPGA小徐14 分钟前
【一生一芯 / PA】异常响应机制:RISC-V 中 ecall → mtvec → mret 的完整代
开发语言·数据库·c#
m0_6464299743 分钟前
MySQL 初始化 SQL 中文乱码问题总结
数据库·sql·mysql
实战派K8S&DB1 小时前
TDSQL 核心模块与进程体系
运维·数据库·分布式·sql·mysql
FfHUCisI1 小时前
Go 性能分析工具 pprof:CPU、Heap 与 Goroutine 实战
数据库·golang
仍然.1 小时前
Redis---分布式锁
数据库·redis·分布式
ly76891 小时前
MongoDB 副本集选举风暴排查:从心跳超时到 Journal 刷盘阻塞
数据库·mongodb·php·mongodb 副本集·选举风暴·journal 刷盘·writeconcern
刘天远1 小时前
Agent成本核算实现:事件表、状态分布与Python归集
前端·数据库·人工智能·python
hey you~1 小时前
通话记录与工单关联数据库设计:ER图、中间表、索引优化与分库分表(2026版)
数据库·分库分表·客服系统·数据一致性·后端开发·通话记录·跨系统查询
java_logo2 小时前
Docker 部署 OpenViking:轻松搭建 AI Agent 上下文数据库平台
数据库·人工智能·docker·agent·火山引擎·openviking·轩辕镜像