如何使用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 分钟前
如何避免 MySQL 死锁?——从原理到实战的系统性解决方案
数据库·mysql
闲人编程9 分钟前
基础设施即代码(IaC)工具比较:Pulumi vs Terraform
java·数据库·terraform·iac·codecapsule·pulumi
QQ_216962909616 分钟前
Spring Boot大学生社团管理平台 【部署教程+可完整运行源码+数据库】
java·数据库·spring boot·微信小程序
玉成22621 分钟前
MySQL两表之间数据迁移由于字段排序规则设置的不一样导致失败
数据库·mysql
dblens 数据库管理和开发工具30 分钟前
DBLens:让 SQL 查询更智能、更高效的数据库利器
服务器·数据库·sql·数据库连接工具·dblens
TDengine (老段)41 分钟前
TDengine 在新能源领域的最佳实践
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
是席木木啊44 分钟前
Spring Boot 中 @Async 与 @Transactional 结合使用全解析:避坑指南
数据库·spring boot·oracle
__风__44 分钟前
PostgreSQL 创建扩展后台流程
数据库·postgresql
StarRocks_labs44 分钟前
Fresha 的实时分析进化:从 Postgres 和 Snowflake 走向 StarRocks
数据库·starrocks·postgres·snowflake·fresha
CodeAmaz1 小时前
Spring编程式事务详解
java·数据库·spring