利用python+sqlite3+PyCharm实现一个简易的通讯录数据的增删改查

### 使用 PyCharmSQLite 数据库进行增删改查 #### 连接数据库并初始化环境 为了在 PyCharm 中使用 SQLite 数据库,首先需要确保已安装必要的驱动程序。如果遇到 `Driver class 'org.sqlite.JDBC' not found` 的错误提示,则需手动下载 SQLite JDBC 驱动文件[^3]。 完成驱动配置后,在 PyCharm 右侧工具栏找到 **Database** 插件入口,选择目标数据库路径,并通过测试连接验证其可用性。一旦确认无误,即可编写 Python 脚本执行具体操作。 --- #### 增加数据 (Insert) 向 SQLite 表格中插入新记录可以通过以下方式实现: ```python import sqlite3 conn = sqlite3.connect('sqlite.db') c = conn.cursor() # 创建表格(仅当不存在时) c.execute('''CREATE TABLE IF NOT EXISTS users ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, age INT NOT NULL);''') # 插入单条记录 c.execute("INSERT INTO users (name, age) VALUES (?, ?)", ('Alice', 25)) # 批量插入多条记录 users_data = [('Bob', 30), ('Charlie', 35)] c.executemany("INSERT INTO users (name, age) VALUES (?, ?)", users_data) conn.commit() print("数据插入成功") conn.close() ``` 上述脚本展示了如何利用参数化查询防止 SQL 注入攻击[^1]。 --- #### 查询数据 (Select) 从 SQLite 数据表检索所需信息通常涉及简单的 SELECT 语句: ```python import sqlite3 conn = sqlite3.connect('sqlite.db') c = conn.cursor() # 查询全部记录 c.execute("SELECT * FROM users;") rows = c.fetchall() for row in rows: print(f"ID: {row[0]}, Name: {row[1]}, Age: {row[2]}") # 条件筛选特定年龄范围内的用户 c.execute("SELECT * FROM users WHERE age BETWEEN ? AND ?", (20, 30)) filtered_rows = c.fetchall() if filtered_rows: for r in filtered_rows: print(f"符合条件的用户:Name={r[1]}, Age={r[2]}") else: print("未找到匹配条件的数据") conn.close() ``` 此部分代码说明了基本的选择逻辑及其扩展应用。 --- #### 更新数据 (Update) 更新现有记录的内容可以借助 UPDATE 关键字完成: ```python import sqlite3 conn = sqlite3.connect('sqlite.db') c = conn.cursor() # 修改指定用户的年龄 c.execute("UPDATE users SET age=? WHERE name=?", (40, 'Alice')) affected_rows = c.rowcount if affected_rows > 0: print(f"{affected_rows} 条记录被修改") else: print("没有任何记录受到影响") conn.commit() conn.close() ``` 这里强调了影响行计数的重要性以便于调试或日志记录。 --- #### 删除数据 (Delete) 删除不再需要的信息可通过 DELETE 操作达成目的: ```python import sqlite3 conn = sqlite3.connect('sqlite.db') c = conn.cursor() # 移除某位用户的所有资料 c.execute("DELETE FROM users WHERE name=?", ('Bob', )) deleted_count = c.rowcount if deleted_count > 0: print(f"成功移除了 {deleted_count} 名用户") else: print("没有发现可删除的目标") conn.commit() conn.close() ``` 同样地,提供了反馈机制让用户了解实际发生的变动情况。 --- #### 图形化管理支持 对于更直观的操作体验,PyCharm 提供内置的 Database 工具窗口来辅助开发者快速定位到项目中的 `.sqlite3` 文件位置[^2]。只需双击该文件名便可启动可视化编辑模式,允许直接输入 SQL 文本来实施复杂的 CRUD 功能而无需额外编码工作。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

没钱君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值