bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

Python怎么編寫(xiě)通訊錄通過(guò)數(shù)據(jù)庫(kù)存儲(chǔ)實(shí)現(xiàn)模糊查詢功能

這篇“Python怎么編寫(xiě)通訊錄通過(guò)數(shù)據(jù)庫(kù)存儲(chǔ)實(shí)現(xiàn)模糊查詢功能”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來(lái)看看這篇“Python怎么編寫(xiě)通訊錄通過(guò)數(shù)據(jù)庫(kù)存儲(chǔ)實(shí)現(xiàn)模糊查詢功能”文章吧。

創(chuàng)新互聯(lián)建站是一家專注于成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站與策劃設(shè)計(jì),茂南網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:茂南等地區(qū)。茂南做網(wǎng)站價(jià)格咨詢:18980820575

1.要求

數(shù)據(jù)庫(kù)存儲(chǔ)通訊錄,要求按姓名/電話號(hào)碼查詢,查詢條件只有一個(gè)輸入入口,自動(dòng)識(shí)別輸入的是姓名還是號(hào)碼,允許模糊查詢。

2.實(shí)現(xiàn)功能

可通過(guò)輸入指令進(jìn)行操作。

(1)首先輸入“add”,可以對(duì)通訊錄進(jìn)行添加聯(lián)系人信息。

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() # 提交,否則無(wú)法保存

(2)輸入“delete”,可以刪除指定的聯(lián)系人信息。

輸入姓名刪除:

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

輸入電話號(hào)碼刪除:

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

(3)輸入“search”,可以輸入聯(lián)系人或者電話號(hào)碼,查詢聯(lián)系人信息,這里實(shí)現(xiàn)了模糊查詢以及精確查詢。

輸入姓名查詢:

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

輸入電話號(hào)碼查詢:

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

(4)輸入“searchall”,查詢?nèi)柯?lián)系人信息。

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

3.數(shù)據(jù)庫(kù)sqlite3

Python自帶一個(gè)輕量級(jí)的關(guān)系型數(shù)據(jù)庫(kù)sqlite。這一數(shù)據(jù)庫(kù)使用SQL語(yǔ)言。sqlite作為后端數(shù)據(jù)庫(kù),可以搭配Python建網(wǎng)站,或者制作有數(shù)據(jù)存儲(chǔ)需求的工具。sqlLite還在其它領(lǐng)域有廣泛的應(yīng)用,比如HTML5和移動(dòng)端。Python標(biāo)準(zhǔn)庫(kù)中的sqlite3提供該數(shù)據(jù)庫(kù)的接口。因此此次使用了sqlite3數(shù)據(jù)庫(kù)存儲(chǔ)通訊錄的聯(lián)系人信息。

源碼:

import sqlite3
import re
#打開(kāi)本地?cái)?shù)據(jù)庫(kù)用于存儲(chǔ)用戶信息
conn = sqlite3.connect('MySQL_telephone_book.db')
c = conn.cursor()
#在該數(shù)據(jù)庫(kù)下創(chuàng)建表,創(chuàng)建表的這段代碼在第一次執(zhí)行后需要注釋掉,否則再次執(zhí)行程序會(huì)一直提示:該表已存在
'''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()#提交當(dāng)前的事務(wù)
#增加用戶信息
def insert():
  global conn
  c = conn.cursor()
  ID=int(input("請(qǐng)輸入id號(hào):"))
  name=input("請(qǐng)輸入姓名:")
  age=int(input("請(qǐng)輸入年齡:"))
  address=input("請(qǐng)輸入地址:")
  telenumber=input("請(qǐng)輸入電話號(hào)碼:")
  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()#提交,否則無(wú)法保存
  print("提交成功!!")
#刪除用戶信息
def delete():
  global conn
  c=conn.cursor()
  i = input("請(qǐng)輸入所要?jiǎng)h除的聯(lián)系人姓名或電話號(hào)碼:")
  if len(i) < 11:
    cursor = c.execute("SELECT name from TA where name = '%s';"%i)
    for row in cursor:
      if i == row[0]:
        c.execute("DELETE from TA where name ='%s';"%i)
        conn.commit()
        print("成功刪除聯(lián)系人信息!!")
        break
    else:
      print("該聯(lián)系人不存在!!")
  else :
    cursor = c.execute("SELECT name from TA where telenumber= '%s';" % i)
    for row in cursor:
      if i == row[0]:
        c.execute("DELETE from TA where telenumber ='%s';" % i)
        conn.commit()
        print("成功刪除聯(lián)系人信息!!")
        break
    else:
      print("該電話號(hào)碼錯(cuò)誤!!")
#查詢用戶信息
def search():
  global conn
  c = conn.cursor()
  i = input("請(qǐng)輸入所要查詢的聯(lián)系人姓名或電話號(hào)碼:")
  if i.isnumeric():
    sql1 = "SELECT id,name,age, address, telenumber from TA where telenumber like '%" + i + "%'"
    cursor = c.execute(sql1)
    res=cursor.fetchall()
    if len(res)!=0:
      for row in res:
        print("id:{0}".format(row[0]))
        print("姓名:{0}".format(row[1]))
        print("年齡:{0}".format(row[2]))
        print("地址:{0}".format(row[3]))
        print("電話號(hào)碼:{0}".format(row[4]))
    else:
      print("無(wú)此電話號(hào)碼!!")
  else:
    sql1="SELECT id,name,age, address, telenumber from TA where name like '%"+i+"%'"
    cursor = c.execute(sql1)
    res=cursor.fetchall()
    if len(res) == 0:
      print("該聯(lián)系人不存在!!")
    else:
      for row in res:
        print("id:{0}".format(row[0]))
        print("姓名:{0}".format(row[1]))
        print("年齡:{0}".format(row[2]))
        print("地址:{0}".format(row[3]))
        print("電話號(hào)碼:{0}".format(row[4]))
#顯示所有用戶信息
def showall():
  global conn
  c = conn.cursor()
  cursor = c.execute("SELECT id, name, age, address, telenumber from TA")
  for row in cursor:
    print("id:{0}".format(row[0]))
    print("姓名:{0}".format(row[1]))
    print("年齡:{0}".format(row[2]))
    print("地址:{0}".format(row[3]))
    print("電話號(hào)碼:{0}".format(row[4]))
print("指令如下:\n1.輸入\"add\"為通訊錄添加聯(lián)系人信息\n2.輸入\"delete\"刪除通訊錄里的指定聯(lián)系人信息 \n3.輸入\"searchall\"查詢通訊錄里的所有用戶 \n4.輸入\"search\"根據(jù)姓名或手機(jī)號(hào)碼查找信息 ")
while 1:
  temp = input("請(qǐng)輸入指令:")
  if temp == "add":
    insert()
    print("添加成功!")
    temp1=input("是否繼續(xù)操作通訊錄?(y or n)")
    if temp1=="n":
      print("成功退出!!")
      break
    else:
      continue
  elif temp=="delete":
    delete()
    temp1 = input("是否繼續(xù)操作通訊錄?(y or n)")
    if temp1 == "n":
      print("成功退出!!")
      break
    else:
      continue
  elif temp=="searchall":
    showall()
    temp1 = input("是否想繼續(xù)操作通訊錄?(y or n)")
    if temp1 == "n":
      print("成功退出!!")
      break
    else:
      continue
  elif temp=="search":
    search()
    temp1 = input("您是否想繼續(xù)操作通訊錄?(y or n)")
    if temp1 == "n":
      print("成功退出!!")
      break
    else:
      continue
  else:
    print("請(qǐng)輸入正確指令!!")
conn.close()#關(guān)閉數(shù)據(jù)庫(kù)

以上就是關(guān)于“Python怎么編寫(xiě)通訊錄通過(guò)數(shù)據(jù)庫(kù)存儲(chǔ)實(shí)現(xiàn)模糊查詢功能”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

新聞標(biāo)題:Python怎么編寫(xiě)通訊錄通過(guò)數(shù)據(jù)庫(kù)存儲(chǔ)實(shí)現(xiàn)模糊查詢功能
分享路徑:http://vcdvsql.cn/article30/gjcsso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)Google服務(wù)器托管自適應(yīng)網(wǎng)站App設(shè)計(jì)定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開(kāi)發(fā)