26 query = SQLQ.SQLQueries.use_database(self.
db_name)
27 connection.execute_query(query)
30 existing_tables = [table[0]
for table
in connection.execute_query(SQLQ.SQLQueries.show_tables())]
32 raise Exception(f
"Table {self.table_name} does not exist.")
35 table_description = connection.execute_query(SQLQ.SQLQueries.getTableDescription(self.
table_name))
38 for column_info
in table_description:
39 column_name = column_info[0]
40 column_type = column_info[1]
41 if column_name
in self.
data:
42 if "int" in column_type:
43 self.
data[column_name] = int(self.
data[column_name])
44 elif "decimal" in column_type:
45 self.
data[column_name] = Decimal(self.
data[column_name])
46 elif "date" in column_type:
47 self.
data[column_name] = datetime.strptime(self.
data[column_name],
"%Y-%m-%d").date()
48 elif "time" in column_type:
49 self.
data[column_name] = datetime.strptime(self.
data[column_name],
"%H:%M:%S").time()
50 elif "datetime" in column_type:
51 self.
data[column_name] = datetime.strptime(self.
data[column_name],
"%Y-%m-%d %H:%M:%S")
54 update_query = SQLQ.SQLQueries.update_last_row_by_id(self.
table_name, self.
data)
55 connection.execute_query(update_query)
56 connection.cnx.commit()
58 except Exception
as e:
60 connection.cnx.rollback()
61 return {
"Error": f
"Error when updating data in the table: {self.table_name}"}
64 connection.cnx.close()
66 return {
"Success": f
"Data updated in the table: {self.table_name}"}
75 query = SQLQ.SQLQueries.use_database(self.
db_name)
76 connection.execute_query(query)
79 existing_tables = [table[0]
for table
in connection.execute_query(SQLQ.SQLQueries.show_tables())]
81 raise Exception(f
"Table {self.table_name} does not exist.")
84 delete_query = SQLQ.SQLQueries.delete_last_row_by_id(self.
table_name)
85 connection.execute_query(delete_query)
86 connection.cnx.commit()
88 except Exception
as e:
90 connection.cnx.rollback()
91 return {
"Error": f
"Error when deleting last row from the table: {self.table_name}"}
94 connection.cnx.close()
96 return {
"Success": f
"Last row deleted from the table: {self.table_name}"}