Python SQLite 教程:从入门到实战操作

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

Python 操作 SQLite 基础入门

数据库操作是现代应用程序的核心功能之一。但并非所有项目都需要 MySQL 或 PostgreSQL 这样复杂且资源消耗大的数据库系统。对于小型项目、原型开发或本地应用,Python 内置的 SQLite 数据库管理系统是绝佳选择。

在本教程中,我们将深入讲解 Python 操作 SQLite 的核心原理。你将学会执行数据库的基本操作,并通过实战案例掌握如何使用 Python 在 SQLite 中执行 UPDATE 更新命令。

什么是 SQLite?它有哪些优势?

SQLite 是一款轻量级的内嵌式关系型数据库。它无需独立服务器即可运行,整个数据库直接存储在计算机磁盘上的一个文件中。

SQLite 的主要优势:

  • 通过 sqlite3 模块内置于 Python 标准库中
  • 无需安装和配置独立服务器
  • 非常适合本地应用和移动端解决方案
  • 使用简单,小数据量下运行速度极快
  • 支持标准 SQL 查询
  • 跨平台且易于移植
  • 运行稳定可靠

连接 SQLite 数据库

操作 SQLite 需要使用标准库中的 sqlite3 模块。无需额外安装,因为它已包含在 Python 的标准发行版中。

import sqlite3

# 创建或连接数据库
conn = sqlite3.connect('example.db')

# 创建游标对象,用于执行 SQL 查询
cursor = conn.cursor()

执行上述代码后,会在当前目录下创建 example.db 数据库文件。如果文件已存在,则会连接到现有数据库。

创建数据库结构

创建数据表

在 SQLite 中创建表使用 CREATE TABLE 命令。以下示例创建一个用于存储用户信息的表:

cursor.execute('''
    CREATE TABLE IF NOT EXISTS users (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        name TEXT NOT NULL,
        age INTEGER,
        email TEXT UNIQUE
    )
''')

conn.commit()

此示例创建了一个包含四个字段的 users 表:

  • id — 自增的唯一标识符
  • name — 用户名(必填字段)
  • age — 用户年龄
  • email — 电子邮箱(唯一值)

创建索引以优化性能

为提高查询性能,可以创建索引:

cursor.execute('''
    CREATE INDEX IF NOT EXISTS idx_users_email ON users(email)
''')

cursor.execute('''
    CREATE INDEX IF NOT EXISTS idx_users_age ON users(age)
''')

conn.commit()

数据操作

向表中插入数据

使用 INSERT 命令插入单条记录:

cursor.execute('''
    INSERT INTO users (name, age, email) 
    VALUES (?, ?, ?)
''', ('Alice', 30, 'alice@example.com'))

conn.commit()

批量插入数据

使用 executemany 方法同时插入多条记录:

users_data = [
    ('Bob', 25, 'bob@example.com'),
    ('Charlie', 35, 'charlie@example.com'),
    ('Diana', 28, 'diana@example.com'),
    ('Eve', 32, 'eve@example.com')
]

cursor.executemany('''
    INSERT INTO users (name, age, email) 
    VALUES (?, ?, ?)
''', users_data)

conn.commit()

博客

书籍推荐