본문 바로가기

파이썬(PYTHON)/프로젝트
[파이썬(Python)] 전화번호부 관리2 (데이터베이스 이용)

1번 입력
2번 검색
3번 전체 조회
4번 변경
5번 삭제


# 전화번호부(데이터베이스를 이용)

1. 입력 -> 이름 입력 :      / 전화번호 입력 : 
2. 검색 -> 이름 검색 :       
3. 종료
'''

import sqlite3

check = True

while True :
    print("<전화번호부>")
    print("1번. 입력")
    print("2번. 검색")
    print("3번. 프로그램 종료\n")

    cmd = input("원하는 번호를 입력해 주세요. : ")

    if ( cmd == "3" or cmd == "3번" ) :
        print("프로그램을 종료합니다.")
        break

    elif ( cmd == "1" or cmd == "1번" ) :
        
        while (check) :
            name = input("이름 : ")
            phone = input("전화번호 : ")
            print("")
                
            if (name == "" or phone == "") :
                print("정보가 부족합니다.\n")
                check = False

            conn = sqlite3.connect("d:/contract.db")
            cur = conn.cursor()
            sql = "insert into contract (name, phone) values (:Name, :Phone)"
            cur.execute(sql, {'Name':name, 'Phone':phone})
            conn.commit()
            conn.close()

    elif ( cmd == "2" or cmd == "2번" ) :
        try :
            search_name = input("이름: ")
            
            conn = sqlite3.connect("d:/contract.db")
            cur = conn.cursor()
            sql = "select name, phone from contract where name = :Name"
            cur.execute( sql, {'Name':search_name} )
            rows = cur.fetchall()
            for row in rows :
                print(row)

            conn.close()
 
        except FileNotFoundError as e:
            print("먼저 입력을 해주세요.")
            print(e)


    else :
        print("없는 번호입니다. 프로그램을 종료합니다.")
        break