Python 数据库操作入门
数据库操作是现代软件开发中的核心技能。SQLite 作为最轻量级且功能强大的本地数据库解决方案,完美集成在 Python 标准库中,无需额外安装数据库服务器即可使用。本教程将带你从零掌握 SQLite 在 Python 中的实战应用。
SQLite 基础概念
什么是 SQLite?
SQLite 是一款嵌入式关系型数据库引擎,无需独立安装或启动服务器进程。所有数据都存储在一个单一文件中,这使得它成为原型开发、桌面应用和移动应用的理想选择。
核心优势
SQLite 拥有以下显著优势:
• 通过 sqlite3 模块原生集成于 Python • 零配置即可使用 • 中小型项目性能卓越 • 操作简单直观 • 支持标准 SQL 查询语法 • 体积小巧,系统资源占用极低
Python 中 SQLite 的应用场景
典型使用案例
SQLite 在以下场景中表现出色:
• 教学实践与学习项目 • 本地脚本与桌面应用程序 • 基于 Flask 等框架的小型 Web 应用 • 配置文件存储系统 • 离线数据存储方案 • 应用原型快速开发 • 数据缓存层实现
开发者收益
Python 开发者使用 SQLite 可获得诸多便利:无需额外依赖库,快速上手关系型数据处理,支持事务机制确保数据完整性,以及出色的数据可靠性保障。
SQLite 快速上手
导入模块
SQLite 已内置于 Python 标准库,只需导入对应模块即可:
import sqlite3
建立数据库连接
连接文件数据库
conn = sqlite3.connect('example.db')
如果数据库文件不存在,系统会自动创建。
使用内存数据库
conn = sqlite3.connect(':memory:')
这种数据库仅存在于内存中,程序结束后自动销毁。
创建数据库结构
创建数据表
cursor = conn.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER,
email TEXT UNIQUE
)
''')
conn.commit()
数据类型说明
SQLite 支持以下核心数据类型:
• INTEGER - 整型数值 • TEXT - 文本字符串 • REAL - 浮点数值 • BLOB - 二进制数据 • NULL - 空值
数据操作实战
插入数据
单条记录插入
cursor.execute("INSERT INTO users (name, age, email) VALUES (?, ?, ?)",
("Alice", 25, "alice@example.com"))
conn.commit()
批量数据插入
users = [
("Bob", 30, "bob@example.com"),
("Charlie", 22, "charlie@example.com"),
("Diana", 28, "diana@example.com")
]
cursor.executemany("INSERT INTO users (name, age, email) VALUES (?, ?, ?)", users)
conn.commit()
查询数据
获取全部记录
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
for row in rows:
print(row)