为了帮助你理解如何在数据库中进行基本操作,这里提供一个简单的示例,演示如何使用Python与SQLite数据库进行交互。这将包括创建数据库、插入数据、查询数据、更新数据和删除数据的基本示例。
案例背景我们将建立一个简单的用户管理数据库,用户表将包含以下字段:
- id: 用户ID(主键,自增)
- username: 用户名
- email: 用户邮箱
代码示例以下是一个完整的Python代码示例,演示如何使用SQLite数据库进行基本CRUD(创建、读取、更新、删除)操作:
- import sqlite3
- # 创建一个数据库连接
- connection = sqlite3.connect('user_management.db')
- cursor = connection.cursor()
- # 创建用户表
- def create_table():
- cursor.execute('''
- CREATE TABLE IF NOT EXISTS users (
- id INTEGER PRIMARY KEY AUTOINCREMENT,
- username TEXT NOT NULL,
- email TEXT NOT NULL UNIQUE
- )
- ''')
- print("用户表已创建。")
- # 插入用户
- def insert_user(username, email):
- cursor.execute('''
- INSERT INTO users (username, email) VALUES (?, ?)
- ''', (username, email))
- connection.commit()
- print(f"用户 {username} 已添加。")
- # 查询用户
- def get_users():
- cursor.execute('SELECT * FROM users')
- users = cursor.fetchall()
- return users
- # 更新用户信息
- def update_user(user_id, new_username, new_email):
- cursor.execute('''
- UPDATE users SET username = ?, email = ? WHERE id = ?
- ''', (new_username, new_email, user_id))
- connection.commit()
- print(f"用户ID {user_id} 的信息已更新。")
- # 删除用户
- def delete_user(user_id):
- cursor.execute('''
- DELETE FROM users WHERE id = ?
- ''', (user_id,))
- connection.commit()
- print(f"用户ID {user_id} 已删除。")
- # 主程序
- if __name__ == '__main__':
- create_table() # 创建用户表
- # 插入用户
- insert_user('alice', 'alice@example.com')
- insert_user('bob', 'bob@example.com')
- # 查询并显示用户
- users = get_users()
- print("当前用户列表:")
- for user in users:
- print(user)
- # 更新用户
- update_user(1, 'Alice Smith', 'alice.smith@example.com')
- # 查询并显示用户
- users = get_users()
- print("更新后的用户列表:")
- for user in users:
- print(user)
- # 删除用户
- delete_user(2)
- # 查询并显示用户
- users = get_users()
- print("删除用户后的用户列表:")
- for user in users:
- print(user)
- # 关闭数据库连接
- connection.close()
复制代码
代码解释- 创建数据库连接:
- sqlite3.connect('user_management.db'):如果文件不存在,将创建一个名为 user_management.db 的数据库。
- 创建表:
- 使用 CREATE TABLE 语句来创建用户表。
- 插入用户:
- 使用 INSERT INTO 语句插入新的用户数据。用户的用户名和邮箱是参数化的,防止SQL注入。
- 查询用户:
- 使用 SELECT * FROM users 查询所有用户,并返回结果。
- 更新用户信息:
- 删除用户:
- 主程序逻辑:
- 执行创建表、插入用户、查询用户、更新用户和删除用户的操作,并打印出用户列表以便查看结果。
运行示例确保你已经安装了Python和SQLite库,然后你可以运行上述代码。它将创建一个数据库文件并执行一系列操作,最终在控制台上输出当前用户列表的状态。
|