python网络爬虫实战-sqlite3数据库操作

大家好,我是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()