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

SQLite 入门指南:在 Python 中轻松操作数据库

引言

如果你刚开始学习编程或数据存储,可能会觉得数据库听起来有点“高大上”。但实际上,使用数据库可以非常轻松,尤其是当你选择了 SQLite —— 一个轻量、易用、功能强大的嵌入式数据库。

本博客将带你从零开始,学习如何使用 Python 操作 SQLite 数据库,并通过一个实际案例展示如何基于 FastAPI 构建一个简单的 CRUD API。

一.什么是 SQLite?

SQLite 是一个基于 C 语言开发的轻量级 SQL 数据库引擎。它不需要独立的服务器,整个数据库就存储在一个文件中,非常适合小型项目、移动应用或学习使用。

1.1 SQLite 的特点:

轻量级:无需安装,直接使用

易于学习:语法与标准 SQL 非常相似

高性能:对于中小型数据操作非常快

跨平台:支持 Windows、macOS、Linux

二.Python 操作 SQLite 数据库

Python 自带 sqlite3 模块,无需额外安装。下面我们一步步学习如何操作。

2.1准备工作

import sqlite3

2.2 创建数据库和表

conn = sqlite3.connect('students.db') cur = conn.cursor() cur.execute(''' CREATE TABLE IF NOT EXISTS students ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, age INTEGER, grade TEXT ) ''') conn.commit() conn.close()

2.3 插入数据

conn = sqlite3.connect('students.db') cur = conn.cursor() cur.execute("INSERT INTO students (name, age, grade) VALUES (?, ?, ?)", ('Alice', 20, 'A')) cur.execute("INSERT INTO students (name, age, grade) VALUES (?, ?, ?)", ('Bob', 22, 'B')) conn.commit() conn.close()

2.4查询数据

conn = sqlite3.connect('students.db') cur = conn.cursor() cur.execute("SELECT * FROM students") rows = cur.fetchall() for row in rows: print(row) conn.close()

2.5 更新与删除数据

conn = sqlite3.connect('students.db') cur = conn.cursor() # 更新数据 cur.execute("UPDATE students SET grade = ? WHERE name = ?", ('A+', 'Bob')) # 删除数据 cur.execute("DELETE FROM students WHERE name = ?", ('Bob',)) conn.commit() conn.close()

更新:

删除:

三.练习(多练习加深印象)

创建 books.db 数据库,建立 books 表,字段包括 id、title、author、year

插入三条书籍数据

import sqlite3 # 连接到数据库(如果不存在会自动创建) conn = sqlite3.connect('books.db') cursor = conn.cursor() # 创建 books 表 cursor.execute(''' CREATE TABLE IF NOT EXISTS books ( id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT NOT NULL, author TEXT NOT NULL, year INTEGER ) ''') # 插入三条书籍数据 books_data = [ ('The Great Gatsby', 'F. Scott Fitzgerald', 1925), ('To Kill a Mockingbird', 'Harper Lee', 1960), ('1984', 'George Orwell', 1949) ] cursor.executemany('INSERT INTO books (title, author, year) VALUES (?, ?, ?)', books_data) # 提交事务 conn.commit() # 查询并显示插入的数据 print("已插入的数据:") cursor.execute('SELECT * FROM books') for row in cursor.fetchall(): print(f"ID: {row[0]}, 书名: {row[1]}, 作者: {row[2]}, 年份: {row[3]}") # 关闭连接 conn.close()

四.总结

SQLite 是一个非常友好的数据库入门选择,搭配 Python 的 sqlite3 模块,你可以轻松实现数据的存储与管理。通过函数和面向对象封装,代码会更易维护。而使用 FastAPI + SQLAlchemy 则可以构建出功能完整、结构清晰的 Web API。

如果你对数据库操作还不熟悉,建议从简单的 SQLite 开始,逐步过渡到更复杂的应用场景。

http://www.cnnetsun.cn/news/71001.html

相关文章:

  • Screen Translator终极指南:智能屏幕翻译助手完整教程
  • MFC用高精度计时器实现五段时序控制器
  • Dify插件开发指南:集成自定义PyTorch模型的方法
  • Windows11安装isaac-sim-4.5.0和isaaclab
  • MTKClient实战指南:联发科芯片调试与设备救援全解析
  • Linux系统编程2(进程)
  • 零基础网络安全完全自学指南:从入门到精通的系统性路线图
  • B站视频转文字神器:3步搞定视频内容提取的终极指南
  • 浏览器串口工具革命:零安装体验硬件调试新时代
  • 将DataFrame转换为列表
  • ZeroOmega代理管理:3分钟掌握浏览器智能代理的完整指南
  • 27、实用awk程序大揭秘
  • Reactor Core终极指南:掌握JVM高性能异步编程核心技术
  • Linux网络编程之封装Socket模块现实意义和价值
  • LangChain输出解析器提取Qwen-Image-Edit-2509编辑指令结构
  • Python字典的`==`操作:从表面相等到深度洞察
  • 3步完成数据库升级:从SQLite到MySQL的智能迁移方案
  • 基于Spring Boot+Vue的电子政务服务管理系统
  • HunyuanVideo-Foley + Git 工作流整合:实现自动化音效生成CI/CD
  • Java开发场景下AI代码生成技术实测报告:效率与安全性双重验证
  • 力扣刷题知识点总结
  • 寻找两个正序数组的中位数:思路与实现
  • 商业广告音效定制避坑指南:3分钟搞懂版权费用与隐藏成本
  • 5个让玩家身临其境的游戏音效设计秘诀(附实战资源库)
  • 影视剪辑必看:5个关键技巧教你避开音效版权雷区
  • 游戏串流实战手册:从零搭建高效串流系统
  • 小米运动步数自动同步:2025年免费刷步数完整教程
  • 原神帧率解锁神器:突破60帧限制的终极解决方案
  • STL——set
  • [CTF]攻防世界:fakebook (sql注入)