· 2 years ago · Feb 21, 2023, 02:50 PM
1import pymysql
2
3# Function to create a connection to the database
4def connect_to_database(db_name):
5 try:
6 conn = pymysql.connect(host='localhost',
7 user='root',
8 password='',
9 database=db_name)
10 print("Connected to the database successfully")
11 return conn
12 except Exception as e:
13 print("Error connecting to the database: ", e)
14
15# Function to create a new table for the address book
16def create_table(conn):
17 try:
18 cursor = conn.cursor()
19 cursor.execute("CREATE TABLE IF NOT EXISTS contacts (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), email VARCHAR(255), phone VARCHAR(255))")
20 conn.commit()
21 print("Table created successfully")
22 except Exception as e:
23 conn.rollback()
24 print("Error creating table: ", e)
25
26# Function to insert a new contact into the address book
27def add_contact(conn, name, email, phone):
28 try:
29 cursor = conn.cursor()
30 cursor.execute("INSERT INTO contacts (name, email, phone) VALUES (%s, %s, %s)", (name, email, phone))
31 conn.commit()
32 print("Contact added successfully")
33 except Exception as e:
34 conn.rollback()
35 print("Error adding contact: ", e)
36
37# Function to view all contacts in the address book
38def view_contacts(conn):
39 try:
40 cursor = conn.cursor()
41 cursor.execute("SELECT * FROM contacts")
42 result = cursor.fetchall()
43 print("Contacts:")
44 for row in result:
45 print(row)
46 except Exception as e:
47 conn.rollback()
48 print("Error viewing contacts: ", e)
49
50# Function to delete a contact from the address book
51def delete_contact(conn, id):
52 try:
53 cursor = conn.cursor()
54 cursor.execute("DELETE FROM contacts WHERE id=%s", (id,))
55 conn.commit()
56 print("Contact deleted successfully")
57 except Exception as e:
58 conn.rollback()
59 print("Error deleting contact: ", e)
60
61# Connect to the database
62conn = connect_to_database("addressbook")
63
64# Create the contacts table if it does not already exist
65create_table(conn)
66
67# Prompt the user to add, view, or delete contacts
68while True:
69 print("Enter 'add' to add a new contact")
70 print("Enter 'view' to view all contacts")
71 print("Enter 'delete' to delete a contact")
72 print("Enter 'quit' to exit")
73
74 choice = input("Choice: ")
75
76 if choice == 'add':
77 name = input("Enter name: ")
78 email = input("Enter email: ")
79 phone = input("Enter phone: ")
80 add_contact(conn, name, email, phone)
81 elif choice == 'view':
82 view_contacts(conn)
83 elif choice == 'delete':
84 id = input("Enter ID of contact to delete: ")
85 delete_contact(conn, id)
86 elif choice == 'quit':
87 break
88 else:
89 print("Invalid choice")
90
91# Close the connection to the database
92conn.close()
93