大家好,我是python网络爬虫这门课程的主要讲师geo
使用 SQLite 进行本地数据库存储
在数据库教学中,SQLite 是网络爬虫课程最推荐的选择。它不需要安装额外服务,使用一个文件即可完成完整的数据库功能,非常适合教学环境。
通过 SQLite,可以让学生第一次接触真正的结构化存储方式,包括表结构设计、字段类型、主键概念,以及基本的增删改查操作。
建立数据库与表(Create Table)
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
)
""")
conn.commit()
新增数据(Create)
# 插入一笔数据
cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", ("Alice", 25))
# 插入多笔数据
users_data = [
("Bob", 30),
("Charlie", 22)
]
cursor.executemany("INSERT INTO users (name, age) VALUES (?, ?)", users_data)
conn.commit()
查询数据(Read)
# 查询所有
cursor.execute("SELECT * FROM users")
all_users = cursor.fetchall()
print("所有用户:", all_users)
# 查询一条
cursor.execute("SELECT * FROM users WHERE name = ?", ("Alice",))
one_user = cursor.fetchone()
print("单一用户:", one_user)
更新数据(Update)
cursor.execute("UPDATE users SET age = ? WHERE name = ?", (26, "Alice"))
conn.commit()
删除数据(Delete)
cursor.execute("DELETE FROM users WHERE name = ?", ("Charlie",))
conn.commit()
关闭连接
conn.close()