Python编写通讯录通过数据库存储实现模糊查询功能

数据库存储通讯录,要求按姓名/电话号码查询查询条件只有一个输入入口,自动识别输入的是姓名还是号码,允许模糊查询。这篇文章主要介绍了Python编写通讯录,支持模糊查询,利用数据库存储,需要的朋友可以参考下

1.要求

数据库存储通讯录,要求按姓名/电话号码查询查询条件只有一个输入入口,自动识别输入的是姓名还是号码,允许模糊查询

2.实现功能

可通过输入指令进行操作。

(1)首先输入“add”,可以对通讯录进行添加联系人信息。

sql1 = 'insert into TA(ID,NAME,AGE,ADDRESS,TELENUMBER)' sql1 += 'values("%d","%s","%d","%s","%s");' % (ID,name, age, address, telenumber) conn.execute(sql1) conn.commit() # 提交,否则无法保存

(2)输入“delete”,可以删除指定的联系人信息。

输入姓名删除

cursor = c.execute( "SELECT name from TA where name = '%s';" %i)

输入电话号码删除

cursor = c.execute( "SELECT name from TA where telenumber= '%s';" % i)

(3)输入“search”,可以输入联系人或者电话号码,查询联系人信息,这里实现了模糊查询以及精确查询

输入姓名查询

sql1 = "SELECT id,name,age, address, telenumber from TA where telenumber like '%" + i + "%'" cursor = c.execute(sql1)

输入电话号码查询

sql1= "SELECT id,name,age, address, telenumber from TA where name like '%" +i+ "%'" cursor = c.execute(sql1)

(4)输入“searchall”,查询全部联系人信息。

cursor = c.execute( "SELECT id, name, age, address, telenumber from TA" )

3.数据库sqlite3

Python自带一个轻量级的关系型数据库sqlite。这一数据库使用sql语言。sqlite作为后端数据库,可以搭配Python建网站,或者制作有数据存储需求的工具。sqlLite还在其它领域有广泛的应用,比如HTML5和移动端。Python标准库中的sqlite3提供该数据库的接口。因此此次使用了sqlite3数据库存储通讯录的联系人信息。

源码:

import sqlite3 import re #打开本地数据库用于存储用户信息 conn = sqlite3.connect('MysqL_telephone_book.db') c = conn.cursor() #在该数据库下创建表,创建表的这段代码在第一次执行后需要注释掉,否则再次执行程序会一直提示:该表已存在 '''c.execute("CREATE TABLE TA (ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), TELENUMBER TEXT);")''' conn.commit()#提交当前的事务 #增加用户信息 def insert(): global conn c = conn.cursor() ID=int(input("请输入id号:")) name=input("请输入姓名:") age=int(input("请输入年龄:")) address=input("请输入地址:") telenumber=input("请输入电话号码:") sql1 = 'insert into TA(ID,NAME,AGE,ADDRESS,TELENUMBER)' sql1 += 'values("%d","%s","%d","%s","%s");' % (ID,name, age, address, telenumber) conn.execute(sql1) conn.commit()#提交,否则无法保存 print("提交成功!!") #删除用户信息 def delete(): global conn c=conn.cursor() i = input("请输入所要删除的联系人姓名或电话号码:") if len(i)

总结

以上所述是小编给大家介绍的Python编写通讯录通过数据库存储实现模糊查询功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程之家网站的支持

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...