用Python编写一个有一百有效行基于sqlite3通讯录的程序,能够具有查询,修改,增加,删除的功能
时间: 2024-02-18 18:01:51 浏览: 70
好的,下面是一个简单的,有一百有效行的基于 sqlite3 通讯录的程序,可以实现增加、修改、查询和删除联系人的功能:
```python
import sqlite3
# 连接到数据库
conn = sqlite3.connect('address_book.db')
c = conn.cursor()
# 创建联系人表
c.execute('''CREATE TABLE IF NOT EXISTS contacts
(id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
phone TEXT NOT NULL,
email TEXT NOT NULL)''')
# 添加联系人
def add_contact():
name = input("请输入联系人姓名:")
phone = input("请输入联系人电话:")
email = input("请输入联系人电子邮件:")
c.execute("INSERT INTO contacts (name, phone, email) VALUES (?, ?, ?)",
(name, phone, email))
conn.commit()
print("联系人已添加成功!")
# 修改联系人
def update_contact():
name = input("请输入要修改的联系人姓名:")
phone = input("请输入新的电话号码:")
email = input("请输入新的电子邮件地址:")
c.execute("UPDATE contacts SET phone = ?, email = ? WHERE name = ?",
(phone, email, name))
conn.commit()
if c.rowcount > 0:
print("联系人信息已更新!")
else:
print("未找到该联系人,请检查输入的姓名是否正确。")
# 查询联系人
def search_contact():
name = input("请输入要查询的联系人姓名:")
c.execute("SELECT * FROM contacts WHERE name = ?", (name,))
row = c.fetchone()
if row:
print("联系人信息如下:")
print("姓名:", row[1])
print("电话:", row[2])
print("电子邮件:", row[3])
else:
print("未找到该联系人,请检查输入的姓名是否正确。")
# 删除联系人
def delete_contact():
name = input("请输入要删除的联系人姓名:")
c.execute("DELETE FROM contacts WHERE name = ?", (name,))
conn.commit()
if c.rowcount > 0:
print("联系人已删除!")
else:
print("未找到该联系人,请检查输入的姓名是否正确。")
# 主函数
def main():
print("欢迎使用通讯录程序!")
while True:
print("请选择功能:")
print("1. 添加联系人")
print("2. 修改联系人")
print("3. 查询联系人")
print("4. 删除联系人")
print("5. 退出程序")
choice = input("请输入功能对应的数字:")
if choice == '1':
add_contact()
elif choice == '2':
update_contact()
elif choice == '3':
search_contact()
elif choice == '4':
delete_contact()
elif choice == '5':
print("感谢使用通讯录程序,再见!")
break
else:
print("无效的输入,请重新输入。")
# 执行主函数
if __name__ == '__main__':
main()
# 关闭连接
conn.close()
```
这个程序使用了 sqlite3 模块来连接到数据库并执行增删改查等操作,同时也使用了 Python 的基本语法和控制结构来实现通讯录的功能。其中,主函数中使用了一个无限循环来实现程序的持续运行,直到用户选择退出程序为止。
请注意,这个程序可能需要进行一些修改以适应你的具体需求,比如增加更多的联系人信息字段或修改联系人信息时的查询方式等等。同时,也需要注意数据库的安全性,比如防止 SQL 注入等问题。
阅读全文