编写一个基于SQLite3的通讯录管理系统。 本系统能实现添加记录、修改记录、删除记录、查询记录基本功能。
时间: 2024-05-13 07:19:03 浏览: 69
好的,以下是一个基于SQLite3的通讯录管理系统的代码示例。
```python
import sqlite3
def connect():
conn = sqlite3.connect('contacts.db')
cur = conn.cursor()
cur.execute("CREATE TABLE IF NOT EXISTS contacts (id INTEGER PRIMARY KEY, name TEXT, phone TEXT)")
conn.commit()
conn.close()
def insert(name, phone):
conn = sqlite3.connect('contacts.db')
cur = conn.cursor()
cur.execute("INSERT INTO contacts VALUES (NULL, ?, ?)", (name, phone))
conn.commit()
conn.close()
def view():
conn = sqlite3.connect('contacts.db')
cur = conn.cursor()
cur.execute("SELECT * FROM contacts")
rows = cur.fetchall()
conn.close()
return rows
def search(name='', phone=''):
conn = sqlite3.connect('contacts.db')
cur = conn.cursor()
cur.execute("SELECT * FROM contacts WHERE name=? OR phone=?", (name, phone))
rows = cur.fetchall()
conn.close()
return rows
def delete(id):
conn = sqlite3.connect('contacts.db')
cur = conn.cursor()
cur.execute("DELETE FROM contacts WHERE id=?", (id,))
conn.commit()
conn.close()
def update(id, name, phone):
conn = sqlite3.connect('contacts.db')
cur = conn.cursor()
cur.execute("UPDATE contacts SET name=?, phone=? WHERE id=?", (name, phone, id))
conn.commit()
conn.close()
connect() # 创建数据库表
# 添加记录
insert("张三", "123456789")
insert("李四", "987654321")
# 查询记录
print(view())
# 查询指定记录
print(search(name="张三"))
# 更新记录
update(1, "王五", "111111111")
# 删除记录
delete(2)
# 查询更新后的记录
print(view())
```
这个代码示例实现了添加记录、修改记录、删除记录、查询记录等基本功能。在这个示例中,我们使用了 SQLite3 数据库来存储通讯录数据。在 `connect` 函数中,我们创建了一个 `contacts` 数据库表,其中包含 `id`、`name`、`phone` 三个字段,分别表示记录的唯一标识、姓名和电话号码。在 `insert` 函数中,我们向 `contacts` 表中插入新的记录;在 `view` 函数中,我们查询所有记录;在 `search` 函数中,我们根据姓名或电话号码查询指定的记录;在 `delete` 函数中,我们删除指定的记录;在 `update` 函数中,我们更新指定的记录。这些函数通过 SQLite3 模块中的 `execute` 函数执行 SQL 语句,并使用 `commit` 函数提交事务。
阅读全文