SQLite 是一款轻量级的数据库管理系统,以其小巧的体积、跨平台的特点和强大的功能而广受欢迎。在 Python 中,我们可以通过内置的 sqlite3 模块轻松地与 SQLite 数据库进行交互。本...
SQLite 是一款轻量级的数据库管理系统,以其小巧的体积、跨平台的特点和强大的功能而广受欢迎。在 Python 中,我们可以通过内置的 sqlite3 模块轻松地与 SQLite 数据库进行交互。本文将详细解析如何使用 Python 进行 SQLite 数据库的应用开发。
SQLite 是一个开源的数据库管理系统,它使用了一种类似于 SQL 的查询语言。SQLite 的特点如下:
在 Python 中,我们可以使用 sqlite3 模块与 SQLite 数据库进行交互。以下是一个简单的示例:
import sqlite3
# 连接到 SQLite 数据库
# 如果文件不存在,会自动在当前目录创建
conn = sqlite3.connect('example.db')
# 创建一个 Cursor 对象并使用它执行 SQL 语句
cursor = conn.cursor()
# 创建表
cursor.execute('CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)')
# 插入数据
cursor.execute('INSERT INTO users (name, age) VALUES (?, ?)', ('Alice', 30))
# 提交事务
conn.commit()
# 查询数据
cursor.execute('SELECT * FROM users')
for row in cursor.fetchall(): print(row)
# 关闭 Cursor 和连接
cursor.close()
conn.close()使用 sqlite3.connect() 函数可以连接到 SQLite 数据库。如果数据库文件不存在,SQLite 会自动创建它。
使用 cursor.execute() 函数可以执行 SQL 语句,例如创建表:
cursor.execute('CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)')使用 cursor.execute() 函数可以插入数据到表中:
cursor.execute('INSERT INTO users (name, age) VALUES (?, ?)', ('Alice', 30))使用 cursor.execute() 函数可以查询表中的数据:
cursor.execute('SELECT * FROM users')
for row in cursor.fetchall(): print(row)使用 cursor.execute() 函数可以更新和删除表中的数据:
# 更新数据
cursor.execute('UPDATE users SET age = ? WHERE name = ?', (35, 'Alice'))
# 删除数据
cursor.execute('DELETE FROM users WHERE name = ?', ('Alice',))SQLite 支持事务处理,使用 conn.commit() 可以提交事务,使用 conn.rollback() 可以回滚事务。
以下是一个使用 Python 和 SQLite 进行用户管理的实战案例:
import sqlite3
# 连接到 SQLite 数据库
conn = sqlite3.connect('user_management.db')
# 创建一个 Cursor 对象
cursor = conn.cursor()
# 创建用户表
cursor.execute('''
CREATE TABLE IF NOT EXISTS users ( id INTEGER PRIMARY KEY, username TEXT NOT NULL, password TEXT NOT NULL, email TEXT NOT NULL
)
''')
# 添加用户
def add_user(username, password, email): cursor.execute('INSERT INTO users (username, password, email) VALUES (?, ?, ?)', (username, password, email)) conn.commit()
# 查询用户
def query_user(username): cursor.execute('SELECT * FROM users WHERE username = ?', (username,)) return cursor.fetchone()
# 更新用户信息
def update_user(username, password=None, email=None): if password: cursor.execute('UPDATE users SET password = ? WHERE username = ?', (password, username)) if email: cursor.execute('UPDATE users SET email = ? WHERE username = ?', (email, username)) conn.commit()
# 删除用户
def delete_user(username): cursor.execute('DELETE FROM users WHERE username = ?', (username,)) conn.commit()
# 测试
add_user('alice', 'password123', 'alice@example.com')
print(query_user('alice'))
update_user('alice', password='newpassword123')
print(query_user('alice'))
delete_user('alice')
# 关闭 Cursor 和连接
cursor.close()
conn.close()通过以上实战案例,我们可以看到如何使用 Python 和 SQLite 进行用户管理。
本文详细介绍了如何使用 Python 进行 SQLite 数据库的应用开发。通过本文的学习,读者可以轻松上手 SQLite,并将其应用于实际项目中。