|
1 | 1 | import mysql.connector as sql |
2 | | -from mysql.connector import Error |
3 | | - |
4 | | -try: |
5 | | - username = input("Enter your username:") |
6 | | - password = input("Enter your password:") |
7 | | - con = sql.connect(host = "localhost", user = username, passwd = password, auth_plugin = "mysql_native_password") |
8 | | - |
9 | | - if con.is_connected(): |
10 | | - print("Connection successful!") |
11 | | - cursor_var = con.cursor() |
12 | | -except Error as e: |
13 | | - print(f'Connection failed to MySQL, error:{e}') |
14 | | - |
15 | | - |
16 | | -class DataBaseCreation: |
17 | | - '''Creating the database, Room Management System''' |
18 | | - def __init__(self, connection): |
19 | | - self.connection = connection |
20 | | - self.cursor = self.connection.cursor() |
21 | | - |
22 | | - def database_create(self): |
23 | | - try: |
24 | | - create = "CREATE DATABASE IF NOT EXISTS ROOM_MANAGEMENT_SYSTEM" |
25 | | - self.cursor.execute(create) |
26 | | - self.connection.commit() |
27 | | - print("Database created or already exists.") |
28 | | - except Error as e: |
29 | | - print(f"Unable to create Database, error: {e}") |
30 | | - |
31 | | - def UseDatabase(self): |
32 | | - try: |
33 | | - database = "USE ROOM_MANAGEMENT_SYSTEM" |
34 | | - self.cursor.execute(database) |
35 | | - self.connection.commit() |
36 | | - except Error as e: |
37 | | - print(f"Error: {e}") |
38 | | - |
39 | | - def CreateTable(self): |
40 | | - try: |
41 | | - create_checkin = ''' |
42 | | - CREATE TABLE IF NOT EXISTS CHECK_IN ( |
43 | | - ROOM_TYPE VARCHAR(20), |
44 | | - NO_OF_DAYS INT, |
45 | | - NAME VARCHAR(20), |
46 | | - AADHAAR_CARD_NO VARCHAR(12), |
47 | | - MOBILE_NO VARCHAR(13), |
48 | | - DATE VARCHAR(20), |
49 | | - ROOM_NO INT |
50 | | - ) |
51 | | - ''' |
52 | | - self.cursor.execute(create_checkin) |
53 | | - |
54 | | - create_checkout = ''' |
55 | | - CREATE TABLE IF NOT EXISTS CHECK_OUT ( |
56 | | - ROOM_TYPE VARCHAR(30), |
57 | | - ROOM_NO INT, |
58 | | - NAME VARCHAR(20), |
59 | | - MOBILE_NO VARCHAR(13), |
60 | | - AADHAAR_CARD_NO VARCHAR(12), |
61 | | - NO_OF_DAYS INT, |
62 | | - TOTAL_BILL FLOAT, |
63 | | - DATE_OF_BILLING VARCHAR(20) |
64 | | - ) |
65 | | - ''' |
66 | | - self.cursor.execute(create_checkout) |
67 | | - |
68 | | - self.connection.commit() |
69 | | - print("Both tables created (if not already existing).") |
70 | | - except Error as e: |
71 | | - print(f"Error: {e}") |
72 | | - |
73 | | - |
74 | | -class DataBaseDeletion: |
75 | | - '''Deleting database, Room Management System''' |
76 | | - def __init__(self, connection): |
77 | | - self.connection = connection |
78 | | - self.cursor = self.connection.cursor() |
79 | | - |
80 | | - def perform_deletion(self): |
81 | | - print("\nPress 1 to delete entire database.") |
82 | | - print("Press 2 to delete tables in database.\n") |
83 | | - user_choice = int(input("Enter your choice: ")) |
84 | | - |
85 | | - if user_choice == 1: |
86 | | - try: |
87 | | - self.cursor.execute("DROP DATABASE IF EXISTS ROOM_MANAGEMENT_SYSTEM") |
88 | | - print("DATABASE deleted successfully!") |
89 | | - except Error as e: |
90 | | - print(f"Error: {e}") |
| 2 | +con=sql.connect(host='localhost', user=input("Enter your account name:"), passwd=input('Enter your password:'), auth_plugin='mysql_native_password') |
| 3 | +cursor_var=con.cursor() |
| 4 | + |
| 5 | +def database_creation(): |
| 6 | + """ |
| 7 | + Creating database using and tables (CHECK_IN and CHECK_OUT). |
| 8 | + """ |
| 9 | + create='CREATE DATABASE ROOM_MANAGEMENT_SYSTEM' |
| 10 | + cursor_var.execute(create) |
| 11 | + print("DATABASE CREATED SUCCESSFULLY!!!") |
| 12 | + |
| 13 | + use='USE ROOM_MANAGEMENT_SYSTEM' |
| 14 | + cursor_var.execute(use) |
| 15 | + create_checkin='CREATE TABLE CHECK_IN(ROOM_TYPE VARCHAR(20), NO_OF_DAYS INT, NAME VARCHAR(20), AADHAAR_CARD_NO VARCHAR(12), MOBILE_NO VARCHAR(13), DATE VARCHAR(20), ROOM_NO INT)' |
| 16 | + cursor_var.execute(create_checkin) |
| 17 | + print("CHECK_IN TABLE CREATED SUCCESSFULLY!!!") |
| 18 | + |
| 19 | + create_checkout='CREATE TABLE CHECK_OUT(ROOM_TYPE VARCHAR(30), ROOM_NO INT, NAME VARCHAR(20), MOBILE_NO VARCHAR(13), AADHAAR_CARD_NO VARCHAR(12), NO_OF_DAYS INT, TOTAL_BILL FLOAT, DATE_OF_BILLING VARCHAR(20))' |
| 20 | + cursor_var.execute(create_checkout) |
| 21 | + print("CHECK_OUT TABLE CREATED SUCCESSFULLY!!!") |
| 22 | + |
| 23 | + con.commit() |
| 24 | + main() |
| 25 | + |
| 26 | +def database_deletion(): |
| 27 | + |
| 28 | + """ |
| 29 | + Deleting database. |
| 30 | + """ |
| 31 | + print(" ") |
| 32 | + print("Press 1 for to delete entire database.") |
| 33 | + print("Press 2 to delete tables in database.") |
| 34 | + print(" ") |
| 35 | + |
| 36 | + user_choice=int(input("Enter your choice:")) |
| 37 | + if user_choice==1: |
| 38 | + drop_database='DROP DATABASE ROOM_MANAGEMENT_SYSTEM' |
| 39 | + cursor_var.execute(drop_database) |
| 40 | + print("DATABASE deleted successfully!!!") |
| 41 | + |
91 | 42 | elif user_choice == 2: |
92 | | - self.cursor.execute("USE ROOM_MANAGEMENT_SYSTEM") |
93 | | - print("\nPress 1 to delete both tables.") |
| 43 | + print(" ") |
| 44 | + print("Press 1 to delete both tables.") |
94 | 45 | print("Press 2 to delete CHECK_IN table only.") |
95 | | - print("Press 3 to delete CHECK_OUT table only.\n") |
96 | | - user_choice_table = int(input("Enter your choice: ")) |
97 | | - try: |
98 | | - if user_choice_table == 1: |
99 | | - self.cursor.execute("DROP TABLE IF EXISTS CHECK_IN") |
100 | | - self.cursor.execute("DROP TABLE IF EXISTS CHECK_OUT") |
101 | | - print("Both tables deleted successfully.") |
102 | | - elif user_choice_table == 2: |
103 | | - self.cursor.execute("DROP TABLE IF EXISTS CHECK_IN") |
104 | | - print("CHECK_IN table deleted successfully.") |
105 | | - elif user_choice_table == 3: |
106 | | - self.cursor.execute("DROP TABLE IF EXISTS CHECK_OUT") |
107 | | - print("CHECK_OUT table deleted successfully.") |
108 | | - else: |
109 | | - print("Invalid choice.") |
110 | | - self.connection.commit() |
111 | | - except Error as e: |
112 | | - print(f"Error: {e}") |
113 | | - |
114 | | - |
115 | | -class ColumnModification: |
116 | | - '''Help to modify the columns''' |
117 | | - def __init__(self, connection): |
118 | | - self.connection = connection |
119 | | - self.cursor = self.connection.cursor() |
120 | | - |
121 | | - def modify_column(self): |
122 | | - self.cursor.execute("USE ROOM_MANAGEMENT_SYSTEM") |
123 | | - print("\nPress 1 to ADD column.") |
124 | | - print("Press 2 to DELETE column.\n") |
125 | | - try: |
126 | | - choice = int(input("Enter your choice: ")) |
127 | | - table = input("Enter table name (CHECK_IN/CHECK_OUT): ").upper() |
128 | | - column_name = input("Enter column name: ") |
129 | | - |
130 | | - if choice == 1: |
131 | | - column_type = input("Enter column type (e.g. VARCHAR(20), INT): ") |
132 | | - query = f"ALTER TABLE {table} ADD COLUMN {column_name} {column_type}" |
133 | | - self.cursor.execute(query) |
134 | | - print("Column added successfully.") |
135 | | - elif choice == 2: |
136 | | - query = f"ALTER TABLE {table} DROP COLUMN {column_name}" |
137 | | - self.cursor.execute(query) |
138 | | - print("Column deleted successfully.") |
139 | | - else: |
140 | | - print("Invalid option.") |
141 | | - self.connection.commit() |
142 | | - except Error as e: |
143 | | - print(f"Error: {e}") |
144 | | - except Exception as ex: |
145 | | - print(f"Invalid input: {ex}") |
146 | | - |
147 | | - |
148 | | -class IndividualTableCreation: |
149 | | - '''Can create individual tables also''' |
150 | | - def __init__(self, connection): |
151 | | - self.connection = connection |
152 | | - self.cursor = self.connection.cursor() |
153 | | - |
154 | | - def create_checkin_table(self): |
155 | | - try: |
156 | | - self.cursor.execute(''' |
157 | | - CREATE TABLE IF NOT EXISTS CHECK_IN ( |
158 | | - ROOM_TYPE VARCHAR(20), |
159 | | - NO_OF_DAYS INT, |
160 | | - NAME VARCHAR(20), |
161 | | - AADHAAR_CARD_NO VARCHAR(12), |
162 | | - MOBILE_NO VARCHAR(13), |
163 | | - DATE VARCHAR(20), |
164 | | - ROOM_NO INT |
165 | | - ) |
166 | | - ''') |
167 | | - self.connection.commit() |
168 | | - print("CHECK_IN table created successfully.") |
169 | | - except Error as e: |
170 | | - print(f"Error creating CHECK_IN table: {e}") |
171 | | - |
172 | | - def create_checkout_table(self): |
173 | | - try: |
174 | | - self.cursor.execute(''' |
175 | | - CREATE TABLE IF NOT EXISTS CHECK_OUT ( |
176 | | - ROOM_TYPE VARCHAR(30), |
177 | | - ROOM_NO INT, |
178 | | - NAME VARCHAR(20), |
179 | | - MOBILE_NO VARCHAR(13), |
180 | | - AADHAAR_CARD_NO VARCHAR(12), |
181 | | - NO_OF_DAYS INT, |
182 | | - TOTAL_BILL FLOAT, |
183 | | - DATE_OF_BILLING VARCHAR(20) |
184 | | - ) |
185 | | - ''') |
186 | | - self.connection.commit() |
187 | | - print("CHECK_OUT table created successfully.") |
188 | | - except Error as e: |
189 | | - print(f"Error creating CHECK_OUT table: {e}") |
190 | | - |
191 | | - def perform_table_creation(self): |
192 | | - self.cursor.execute("USE ROOM_MANAGEMENT_SYSTEM") |
193 | | - print("\nPress 1 to create CHECK_IN table.") |
194 | | - print("Press 2 to create CHECK_OUT table.") |
195 | | - print("Press 3 to create both tables.\n") |
196 | | - try: |
197 | | - user_choice = int(input("Enter your choice: ")) |
198 | | - if user_choice == 1: |
199 | | - self.create_checkin_table() |
200 | | - elif user_choice == 2: |
201 | | - self.create_checkout_table() |
202 | | - elif user_choice == 3: |
203 | | - self.create_checkin_table() |
204 | | - self.create_checkout_table() |
205 | | - else: |
206 | | - print("Invalid choice.") |
207 | | - except Exception as e: |
208 | | - print(f"Error: {e}") |
209 | | - |
| 46 | + print("Press 3 to delete CHECK_OUT table only.") |
| 47 | + print(" ") |
| 48 | + user_choice_table = int(input("Enter your choice:")) |
| 49 | + |
| 50 | + if user_choice_table == 1: |
| 51 | + cursor_var.execute("DROP TABLE IF EXISTS CHECK_IN") |
| 52 | + cursor_var.execute("DROP TABLE IF EXISTS CHECK_OUT") |
| 53 | + print("Both tables deleted successfully") |
| 54 | + elif user_choice_table == 2: |
| 55 | + cursor_var.execute("DROP TABLE IF EXISTS CHECK_IN") |
| 56 | + print("CHECK_IN table deleted successfully") |
| 57 | + elif user_choice_table == 3: |
| 58 | + cursor_var.execute("DROP TABLE IF EXISTS CHECK_OUT") |
| 59 | + print("CHECK_OUT table deleted successfully") |
| 60 | + |
| 61 | + con.commit() |
| 62 | + main() |
210 | 63 |
|
211 | 64 | def main(): |
212 | | - print("\n==== ROOM MANAGEMENT SYSTEM ====") |
213 | | - print("1. Create database and both tables") |
214 | | - print("2. Drop database or specific tables") |
215 | | - print("3. Add/Delete column from table") |
216 | | - print("4. Create individual tables (if not exist)") |
217 | | - print("0. Exit") |
218 | | - |
219 | | - try: |
220 | | - user_choice = int(input("Enter your choice: ")) |
221 | | - if user_choice == 1: |
222 | | - db = DataBaseCreation(con) |
223 | | - db.database_create() |
224 | | - db.UseDatabase() |
225 | | - db.CreateTable() |
226 | | - elif user_choice == 2: |
227 | | - deleter = DataBaseDeletion(con) |
228 | | - deleter.perform_deletion() |
229 | | - elif user_choice == 3: |
230 | | - modifier = ColumnModification(con) |
231 | | - modifier.modify_column() |
232 | | - elif user_choice == 4: |
233 | | - creator = IndividualTableCreation(con) |
234 | | - creator.perform_table_creation() |
235 | | - elif user_choice == 0: |
236 | | - print("Exiting program.") |
237 | | - return |
| 65 | + print("Enter 1 to create database 'ROOM_MANAGEMENT_SYSTEM'") |
| 66 | + print("Enter 2 to drop database/table from 'ROOM_MANAGEMENT_SYSTEM'") |
| 67 | + user_choice=int(input("Enter your choice:")) |
| 68 | + if user_choice==1: |
| 69 | + database_creation() |
| 70 | + elif user_choice==2: |
| 71 | + database_deletion() |
238 | 72 | else: |
239 | | - print("Invalid input.") |
240 | | - except Exception as e: |
241 | | - print(f"Error in main menu: {e}") |
242 | | - |
243 | | - main() # Recursive loop |
244 | | - |
245 | | -if __name__ == "__main__": |
246 | | - main() |
| 73 | + print("Wrong input...") |
| 74 | + main() |
| 75 | +main() |
0 commit comments