python编写一个基于SQLite3的通讯录管理系统
时间: 2023-06-26 20:04:29 浏览: 308
好的,以下是一个基于SQLite3的通讯录管理系统的Python代码:
```python
import sqlite3
# 连接到数据库
conn = sqlite3.connect('contacts.db')
# 创建联系人表
conn.execute('''CREATE TABLE IF NOT EXISTS CONTACTS
(ID INTEGER PRIMARY KEY AUTOINCREMENT,
NAME TEXT NOT NULL,
PHONE TEXT NOT NULL,
EMAIL TEXT);''')
# 添加联系人
def add_contact(name, phone, email=''):
conn.execute(f"INSERT INTO CONTACTS (NAME, PHONE, EMAIL) VALUES ('{name}', '{phone}', '{email}');")
conn.commit()
print("联系人添加成功!")
# 查找联系人
def search_contact(name):
cursor = conn.execute(f"SELECT * FROM CONTACTS WHERE NAME='{name}'")
for row in cursor:
print(f"ID: {row[0]}, 姓名: {row[1]}, 电话: {row[2]}, 邮箱: {row[3]}")
# 修改联系人
def update_contact(id, name, phone, email=''):
conn.execute(f"UPDATE CONTACTS SET NAME='{name}', PHONE='{phone}', EMAIL='{email}' WHERE ID='{id}'")
conn.commit()
print("联系人修改成功!")
# 删除联系人
def delete_contact(id):
conn.execute(f"DELETE FROM CONTACTS WHERE ID='{id}'")
conn.commit()
print("联系人删除成功!")
# 显示所有联系人
def show_all_contacts():
cursor = conn.execute("SELECT * FROM CONTACTS")
for row in cursor:
print(f"ID: {row[0]}, 姓名: {row[1]}, 电话: {row[2]}, 邮箱: {row[3]}")
# 关闭数据库连接
def close_connection():
conn.close()
# 主函数
def main():
while True:
print("===通讯录管理系统===")
print("1. 添加联系人")
print("2. 查找联系人")
print("3. 修改联系人")
print("4. 删除联系人")
print("5. 显示所有联系人")
print("0. 退出系统")
choice = input("请输入要执行的操作:")
if choice == '1':
name = input("请输入姓名:")
phone = input("请输入电话:")
email = input("请输入邮箱(可选):")
add_contact(name, phone, email)
elif choice == '2':
name = input("请输入要查找的联系人姓名:")
search_contact(name)
elif choice == '3':
id = input("请输入要修改的联系人ID:")
name = input("请输入姓名:")
phone = input("请输入电话:")
email = input("请输入邮箱(可选):")
update_contact(id, name, phone, email)
elif choice == '4':
id = input("请输入要删除的联系人ID:")
delete_contact(id)
elif choice == '5':
show_all_contacts()
elif choice == '0':
close_connection()
print("谢谢使用,再见!")
break
else:
print("输入有误,请重新输入!")
if __name__ == '__main__':
main()
```
该程序中,我们首先创建了一个名为`contacts.db`的SQLite3数据库,用于存储联系人信息。然后我们定义了添加、查找、修改、删除、显示所有联系人以及关闭数据库连接等功能函数。最后,我们在主函数中通过循环获取用户输入的操作,并根据用户的选择执行相应的功能函数。
阅读全文