编写一个基于SQLite3的通讯录管理系统。 本系统能实现添加记录、修改记录、删除记录、查询记录基本功能。
时间: 2023-08-12 13:07:19 浏览: 121
好的,我可以为您提供一些实现通讯录管理系统的思路。
首先,我们需要使用Python中的sqlite3模块来连接SQLite3数据库。可以使用以下代码创建一个名为“contacts.db”的数据库并建立一个名为“contacts”的表:
```python
import sqlite3
conn = sqlite3.connect('contacts.db')
c = conn.cursor()
c.execute('''CREATE TABLE contacts
(id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
phone TEXT,
email TEXT)''')
conn.commit()
conn.close()
```
接下来,我们可以定义一些函数来实现添加记录、修改记录、删除记录和查询记录等基本功能。例如:
```python
def add_contact(name, phone, email):
conn = sqlite3.connect('contacts.db')
c = conn.cursor()
c.execute("INSERT INTO contacts (name, phone, email) VALUES (?, ?, ?)", (name, phone, email))
conn.commit()
conn.close()
def update_contact(id, name, phone, email):
conn = sqlite3.connect('contacts.db')
c = conn.cursor()
c.execute("UPDATE contacts SET name=?, phone=?, email=? WHERE id=?", (name, phone, email, id))
conn.commit()
conn.close()
def delete_contact(id):
conn = sqlite3.connect('contacts.db')
c = conn.cursor()
c.execute("DELETE FROM contacts WHERE id=?", (id,))
conn.commit()
conn.close()
def search_contacts(name=None, phone=None, email=None):
conn = sqlite3.connect('contacts.db')
c = conn.cursor()
query = "SELECT * FROM contacts WHERE 1=1"
if name:
query += " AND name LIKE '%" + name + "%'"
if phone:
query += " AND phone LIKE '%" + phone + "%'"
if email:
query += " AND email LIKE '%" + email + "%'"
c.execute(query)
results = c.fetchall()
conn.close()
return results
```
在这些函数中,我们使用SQL语句来操作数据库。例如,`add_contact`函数使用INSERT语句向“contacts”表中插入新记录,`update_contact`函数使用UPDATE语句更新指定ID的记录,`delete_contact`函数使用DELETE语句删除指定ID的记录,`search_contacts`函数使用SELECT语句查询匹配指定条件的记录。
最后,我们可以编写一个简单的用户交互界面来调用这些函数。例如:
```python
while True:
print("1. Add contact")
print("2. Update contact")
print("3. Delete contact")
print("4. Search contacts")
print("5. Exit")
choice = input("Enter your choice: ")
if choice == "1":
name = input("Enter name: ")
phone = input("Enter phone: ")
email = input("Enter email: ")
add_contact(name, phone, email)
elif choice == "2":
id = input("Enter ID: ")
name = input("Enter name: ")
phone = input("Enter phone: ")
email = input("Enter email: ")
update_contact(id, name, phone, email)
elif choice == "3":
id = input("Enter ID: ")
delete_contact(id)
elif choice == "4":
name = input("Enter name: ")
phone = input("Enter phone: ")
email = input("Enter email: ")
results = search_contacts(name, phone, email)
for result in results:
print(result)
elif choice == "5":
break
```
这个交互界面提供了菜单选项,允许用户添加、修改、删除和查询通讯录记录。当用户选择退出时,程序结束。
这只是一个简单的示例,您可以根据自己的需求进一步修改和完善这个通讯录管理系统。
阅读全文