Python实战:SQLite本地数据库使用

打印 上一主题 下一主题

主题 1777|帖子 1777|积分 5331

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
引言

在软件开发中,数据库是一个重要的构成部分,它用于存储和管理大量的数据。SQLite是一种轻量级的数据库管理体系,它完全包含在一个文件中,并且不需要独立的服务器历程。Python与SQLite的交互提供了便捷的数据存储和查询方式。本文将详细先容如何使用Python与SQLite数据库进行交互。
1. 环境搭建

在开始使用SQLite之前,我们需要确保已经安装了它。SQLite是Python的标准库之一,因此不需要额外安装。
2. 创建数据库和表

2.1 创建数据库文件

  1. import sqlite3
  2. # 创建一个新的数据库文件
  3. conn = sqlite3.connect('example.db')
复制代码
2.2 创建表

  1. # 创建一个表
  2. conn.execute('''
  3. CREATE TABLE IF NOT EXISTS users (
  4.     id INTEGER PRIMARY KEY,
  5.     name TEXT NOT NULL,
  6.     email TEXT UNIQUE NOT NULL
  7. )
  8. ''')
复制代码
3. 插入数据

  1. # 插入数据
  2. conn.execute("INSERT INTO users (name, email) VALUES (?, ?)", ('Alice', 'alice@example.com'))
  3. conn.execute("INSERT INTO users (name, email) VALUES (?, ?)", ('Bob', 'bob@example.com'))
复制代码
4. 查询数据

  1. # 查询数据
  2. cursor = conn.execute("SELECT * FROM users")
  3. for row in cursor:
  4.     print(row)
复制代码
5. 更新数据

  1. # 更新数据
  2. conn.execute("UPDATE users SET email = ? WHERE id = ?", ('alice_new@example.com', 1))
复制代码
6. 删除数据

  1. # 删除数据
  2. conn.execute("DELETE FROM users WHERE id = ?", (2,))
复制代码
7. 事务处理处罚

  1. # 开始事务
  2. conn.execute("BEGIN TRANSACTION")
  3. # 插入多条数据
  4. conn.executemany("INSERT INTO users (name, email) VALUES (?, ?)", [('Charlie', 'charlie@example.com'), ('David', 'david@example.com')])
  5. # 提交事务
  6. conn.commit()
复制代码
8. 数据库备份与规复

8.1 备份数据库

  1. # 备份数据库
  2. with open('backup.db', 'w') as f:
  3.     for line in conn.iterdump():
  4.         f.write(line)
复制代码
8.2 规复数据库

  1. # 创建一个新的数据库文件
  2. new_conn = sqlite3.connect('example.db')
  3. # 恢复数据库
  4. with open('backup.db', 'r') as f:
  5.     for line in f:
  6.         new_conn.execute(line)
复制代码
9. 实战案例

为了更好地理解Python与SQLite数据库的交互,我们将通过一个详细的案例来演示如何实现一个简单的用户管理体系。
9.1 创建数据库和表

  1. import sqlite3# 创建一个新的数据库文件conn = sqlite3.connect('user_system.db')# 创建一个表
  2. conn.execute('''
  3. CREATE TABLE IF NOT EXISTS users (
  4.     id INTEGER PRIMARY KEY,
  5.     name TEXT NOT NULL,
  6.     email TEXT UNIQUE NOT NULL
  7. )
  8. ''')
复制代码
9.2 用户注册

  1. # 插入数据
  2. conn.execute("INSERT INTO users (name, email) VALUES (?, ?)", ('Alice', 'alice@example.com'))
  3. conn.execute("INSERT INTO users (name, email) VALUES (?, ?)", ('Bob', 'bob@example.com'))
复制代码
9.3 用户登录

  1. # 查询数据
  2. cursor = conn.execute("SELECT * FROM users WHERE email = ?", ('alice@example.com',))
  3. for row in cursor:
  4.     print(row)
复制代码
9.4 用户信息更新

  1. # 更新数据
  2. conn.execute("UPDATE users SET email = ? WHERE id = ?", ('alice_new@example.com', 1))
复制代码
9.5 删除用户

  1. # 删除数据
  2. conn.execute("DELETE FROM users WHERE id = ?", (2,))
复制代码
9.6 事务处理处罚

  1. # 开始事务
  2. conn.execute("BEGIN TRANSACTION")
  3. # 插入多条数据
  4. conn.executemany("INSERT INTO users (name, email) VALUES (?, ?)", [('Charlie', 'charlie@example.com'), ('David', 'david@example.com')])
  5. # 提交事务
  6. conn.commit()
复制代码
9.7 数据库备份与规复

  1. # 备份数据库
  2. with open('backup.db', 'w') as f:
  3.     for line in conn.iterdump():
  4.         f.write(line)
  5. # 规复数据库new_conn = sqlite3.connect('user_system.db')# 规复数据库with open('backup.db', 'r') as f:    for line in f:        new_conn.execute(line)
复制代码
10. 总结

本文详细先容了Python与SQLite数据库的交互方法,包罗创建数据库和表、插入数据、查询数据、更新数据、删除数据、事务处理处罚、数据库备份与规复等。通过阅读本文,信赖我们已经掌握了Python与SQLite数据库的核心技术,并能够实现高效的数据存储和查询。在实际项目中,公道使用SQLite数据库可以提高步伐的性能和稳定性。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

魏晓东

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表