Python数据库连接教程:SQLite与JSON实战指南

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

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

开始课程

Python数据库连接基础

数据库操作是现代编程的核心技能。无论是简单脚本还是复杂Web服务,数据的存储、读取和管理都是构建完整应用的关键环节。

Python提供了多种数据库操作方案。本文将深入讲解如何使用sqlite3模块连接数据库,以及如何通过json.dump和json.load处理JSON格式数据。我们将通过实际案例,带你掌握这些技术的核心要点。

为什么项目需要数据库

当你的程序需要在不同运行间保存数据时,数据库就是最佳选择。Python的sqlite3数据库为信息存储提供了可靠且易用的解决方案。

使用数据库的核心优势

在Python项目中使用数据库能带来以下好处:

• 结构化数据的高效存储 • 快速数据检索与过滤 • 集中化数据管理 • 数据完整性保障 • 便捷的备份恢复 • 良好的可扩展性

Python操作SQLite数据库

SQLite数据库是小项目的理想选择。它直接嵌入应用程序,无需独立服务器,数据存储在.db文件中。

连接SQLite数据库

sqlite3模块是Python标准库的一部分,无需额外安装即可使用。

import sqlite3

# 连接数据库(如果文件不存在,会自动创建)
conn = sqlite3.connect('example.db')

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

连接不存在的数据库时,系统会自动创建文件,这大大简化了新项目的启动流程。

创建数据表

添加数据前需要先定义表结构。使用CREATE TABLE命令:

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

IF NOT EXISTS语句可防止重复创建表时出错。PRIMARY KEY AUTOINCREMENT确保自动生成唯一ID。

插入数据

使用INSERT INTO命令添加数据。建议使用参数化查询防止SQL注入攻击:

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

# 批量插入多条记录
users_data = [
    ('Bob', 25),
    ('Carol', 35),
    ('David', 40)
]

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

conn.commit()

executemany方法可以高效地一次性插入多条数据。

查询与读取数据

根据需求选择不同的数据读取方法:

# 获取所有记录
cursor.execute('SELECT * FROM users')
all_rows = cursor.fetchall()
for row in all_rows:
    print(row)

# 获取单条记录
cursor.execute('SELECT * FROM users WHERE age > ?', (30,))
one_row = cursor.fetchone()
print(one_row)

# 获取指定数量记录
cursor.execute('SELECT name, age FROM users ORDER BY age')
some_rows = cursor.fetchmany(2)
for row in some_rows:
    print(f"姓名: {row[0]}, 年龄: {row[1]}")

更新与删除数据

使用UPDATE和DELETE命令修改现有记录:

                

博客

书籍推荐