使用 Python 操作 SQLite 数据库

SQLite 是一个轻量级的关系型数据库,它实现了 SQL 数据库引擎,但又不需要安装和配置,因而在 Python 编程中被广泛使用。这个数据库的文件存储在磁盘上,方便携带和备份。接下来,我们就通过示例来学习如何在 Python 中使用 SQLite。

基本概念

在开始具体代码之前,我们先了解一些基本概念。在 SQLite 中,一个数据库可以有多个表,每个表又包含多个行和列。我们可以使用 Python 的内置模块 sqlite3 来完成数据库的操作。

安装 SQLite

如果你使用的是现代 Python 版本,sqlite3 模块已经包含在标准库中,你无需额外安装。启动 Python 解释器后,可以通过以下代码来导入模块:

import sqlite3

创建数据库

首先,我们需要创建一个数据库和一个表来存放数据。以下是创建数据库和表的代码示例:

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

# 创建游标
cursor = conn.cursor()

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

# 提交事务并关闭连接
conn.commit()
conn.close()

插入数据

接下来,我们可以向表中插入数据。可以使用 INSERT INTO 语句来完成:

# 插入数据
conn = sqlite3.connect('example.db')
cursor = conn.cursor()

cursor.execute('''
INSERT INTO users (name, age)
VALUES (?, ?)
''', ('Alice', 30))

# 提交事务并关闭连接
conn.commit()
conn.close()

查询数据

除了插入数据,查询数据也是一个常见的操作。我们可以使用 SELECT 语句来获取用户信息:

# 查询数据
conn = sqlite3.connect('example.db')
cursor = conn.cursor()

cursor.execute('SELECT * FROM users')
rows = cursor.fetchall()

for row in rows:
    print(row)

conn.close()

更新与删除数据

我们还可以更新和删除数据。以下是更新数据和删除数据的示例代码:

# 更新数据
conn = sqlite3.connect('example.db')
cursor = conn.cursor()

cursor.execute('''
UPDATE users
SET age = ?
WHERE name = ?
''', (31, 'Alice'))

conn.commit()
conn.close()

# 删除数据
conn = sqlite3.connect('example.db')
cursor = conn.cursor()

cursor.execute('''
DELETE FROM users
WHERE name = ?
''', ('Alice',))

conn.commit()
conn.close()

类图

为了更好地理解代码结构和数据库模型,我们可以使用类图来表示 User 类。

classDiagram
    class User {
        +int id
        +String name
        +int age
        +create()
        +read()
        +update()
        +delete()
    }

状态图

最终,为了清晰地了解操作的状态流转,我们也可以绘制状态图。

stateDiagram
    [*] --> Idle
    Idle --> Creating : Create
    Idle --> Reading : Read
    Idle --> Updating : Update
    Idle --> Deleting : Delete
    Creating --> Idle
    Reading --> Idle
    Updating --> Idle
    Deleting --> Idle

结论

通过以上代码示例,我们学习了如何在 Python 中使用 SQLite 进行基本的数据库操作。SQLite 的使用简单方便,适合快速开发和小型应用。在实际项目中,我们可以扩展这些操作来实现更加复杂的功能。无论是数据存储、管理还是分析,SQLite 都将是一个优秀的选择。希望这篇文章能为你在 Python 和数据库的学习上提供一定的帮助!