使用 Python 操作 SQLite 数据库

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

基本概念

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

安装 SQLite

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

import sqlite3
  • 1.

创建数据库

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

# 创建数据库连接
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()
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.

插入数据

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

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

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

# 提交事务并关闭连接
conn.commit()
conn.close()
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.

查询数据

除了插入数据,查询数据也是一个常见的操作。我们可以使用 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()
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

更新与删除数据

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

# 更新数据
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()
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.

类图

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

User +int id +String name +int age +create() +read() +update() +delete()

状态图

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

Create Read Update Delete Idle Creating Reading Updating Deleting

结论

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