当前位置: 首页 > article >正文

Python中的sqlite3模块:SQLite数据库接口详解

Python中的sqlite3模块:SQLite数据库接口详解

    • 主要功能
      • `sqlite3.connect(database)`
      • `connection.cursor()`
      • `cursor.execute(sql)`
      • `connection.commit()`
      • `cursor.fetchall()`
      • `connection.close()`
    • 使用示例
    • 执行结果
    • 总结

在Python中,sqlite3模块提供了一个与SQLite数据库进行交互的接口。SQLite是一种无服务器、轻量级的SQL数据库引擎,它基于文件运行,因此数据库管理非常简单,特别适合轻量级应用程序。通过sqlite3模块,我们可以轻松地连接SQLite数据库,执行SQL查询,并进行数据的插入、更新、删除和查询等操作。

主要功能

sqlite3.connect(database)

用于连接SQLite数据库。database参数是数据库文件的名称,如果指定的文件不存在,则会自动创建一个新的数据库文件。

connection.cursor()

创建一个用于执行数据库操作的游标对象。

cursor.execute(sql)

执行SQL语句。

connection.commit()

将更改(如插入、更新、删除等)保存到数据库中。

cursor.fetchall()

获取查询结果的所有行。

connection.close()

关闭数据库连接。

使用示例

下面是一个简单的示例,展示了如何使用sqlite3模块来创建数据库、创建表、插入数据以及查询数据。

import sqlite3

# 连接到SQLite数据库(如果不存在则创建)
connection = sqlite3.connect('example.db')

# 创建游标对象
cursor = connection.cursor()

# 创建表
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    age INTEGER NOT NULL
)
''')

# 插入数据
cursor.execute('''
INSERT INTO users (name, age)
VALUES ('Alice', 30), ('Bob', 25), ('Charlie', 35)
''')

# 提交更改
connection.commit()

# 查询数据
cursor.execute('SELECT * FROM users')

# 显示查询结果
for row in cursor.fetchall():
    print(row)

# 关闭数据库连接
connection.close()

执行结果

运行上述代码后,输出结果如下:

(1, 'Alice', 30)
(2, 'Bob', 25)
(3, 'Charlie', 35)

总结

通过sqlite3模块,Python开发者可以轻松地与SQLite数据库进行交互。无论是创建数据库、执行SQL语句,还是进行数据的增删改查,sqlite3都提供了简单而强大的接口。对于需要轻量级数据库解决方案的应用场景,SQLite和sqlite3模块无疑是一个非常好的选择。


http://www.kler.cn/a/461426.html

相关文章:

  • 深入解析爬虫中的算法设计:提升效率与准确度
  • w~多模态~合集1
  • LoRA微调系列笔记
  • Wireshark和科来网络分析系统
  • 数据可视化分析详解
  • 深入解析 Wireshark 的 TLS 设置:应用场景与实操技巧
  • vscode【实用教程】(2025最新版)
  • 深入理解Redis:从理论到实践的Java之旅
  • docker-开源nocodb,使用已有数据库
  • 目标检测,语义分割标注工具--labelimg labelme
  • Postman测试big-event
  • 最小特权的例子
  • 【数据仓库】hive on Tez配置
  • 【信息系统项目管理师】高分论文:论信息系统项目的沟通管理(银行绩效考核系统)
  • 文件上传漏洞总结
  • 深入理解 Spring Cloud 中的 Eureka、Ribbon 和 Feign
  • Tcpdump 高级过滤器
  • Android学习小记2
  • leetcode 23.合并K个升序链表
  • Zabbix企业级分布式监控系统
  • STM32单片机芯片与内部53 AT24C02读写原理 模拟IIC 标准库 HAL库
  • el-input输入框需要支持多输入,最后传输给后台的字段值以逗号分割
  • 智慧社区养老服务平台(源码+文档+部署+讲解)
  • C语言自定义类型
  • 字节跳动Java开发面试题及参考答案(数据结构算法-手撕面试题)
  • 【网络云SRE运维开发】2024第52周-每日【2024/12/31】小测-计算机网络参考模型和通信协议的理论和实操考题-简要解析