import sqlite3 def createPhoneBook(filename): conn = sqlite3.connect(filename) cursor = conn.cursor() cursor.execute('CREATE TABLE infos (name text, phone text)') conn.commit() conn.close() def insertRecord(filename): conn = sqlite3.connect(filename) cursor = conn.cursor() name = input('name : ') phone = input('phone: ') cursor.execute('INSERT INTO infos VALUES ("{}", "{}")'.format(name, phone)) conn.commit() conn.close() def fetchPhoneBook(filename): conn = sqlite3.connect(filename) cursor = conn.cursor() for row in cursor.execute('SELECT * FROM infos'): print(row[0], row[1]) conn.close() def orderPhoneBook(filename): conn = sqlite3.connect(filename) cursor = conn.cursor() order = input('ASC or DESC : ') order = order.upper() if order != 'ASC' and order != 'DESC': order = 'ASC' for row in cursor.execute('SELECT * FROM infos ORDER BY name {}'.format(order)): print(row) conn.close() def searchName(filename): conn = sqlite3.connect(filename) cursor = conn.cursor() name = input('name : ') for row in cursor.execute('SELECT * FROM infos WHERE name="{}"'.format(name)): print(row) conn.close() def deleteName(filename): conn = sqlite3.connect(filename) cursor = conn.cursor() name = input('name : ') cursor.execute('DELETE FROM infos WHERE name="{}"'.format(name)) conn.commit() conn.close() filename = 'phonebook.db' while True: try: menu = int(input('create(0) insert(1) fetch(2) order(3) search(4) delete(5) : ')) if menu == 0: createPhoneBook(filename) elif menu == 1: insertRecord(filename) elif menu == 2: fetchPhoneBook(filename) elif menu == 3: orderPhoneBook(filename) elif menu == 4: searchName(filename) elif menu == 5: deleteName(filename) else : break except ValueError: print('number only.')