如何使用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

相关推荐
IvorySQL6 小时前
PostgreSQL 日报 | JOIN 与外键优化(8 月 9 日)
数据库·postgresql
ltl6 小时前
自治数据库十年回顾:Peloton、NoisePage、OtterTune 到云原生 auto-tuning
数据库
灯澜忆梦8 小时前
【MySQL10】进阶篇 | 索引_#2性能优化
数据库·sql·mysql·性能优化
C++ 老炮儿的技术栈9 小时前
从 Qt Designer 属性编辑器的层级可以看到继承链
c语言·数据库·c++·qt·sqlite·visual studio
MC皮蛋侠客9 小时前
Redis 系列(一):全景与最小闭环——从 `SET` 命令到内存数据结构
数据结构·数据库·redis
zt1985q11 小时前
本地部署开源网络书签与内容管理工具 Karakeep 并实现外部访问
运维·服务器·网络·数据库·网络协议·开源
IvorySQL12 小时前
PostgreSQL 日报| PostgreSQL 19 默认 WAL 压缩算法(8 月 8 日)
数据库·postgresql·区块链
油丶酸萝卜别吃12 小时前
MySQL B+ 树查询全过程详解
数据库·mysql
leisoo809712 小时前
股票数据本地化存储实战:JSON、数据库与列式存储的方案对比
jvm·数据库·json
Exclusive_Cat12 小时前
MySQL回表机制解析与优化策略
数据库·sql