1- """
2- Programa para realizar operaciones a base de datos MySQL
3- """
1+ """Programa para realizar operaciones a base de datos MySQL"""
42
53import logging
64from settings import (
@@ -62,17 +60,17 @@ def crear_conexion(servidor, puerto, usuario, contrasena, bd):
6260 database = credenciales ["database" ],
6361 )
6462 logging .info (
65- f"¡Conexión a la base de datos '{ credenciales ['database' ]} ' fue exitosa!\n "
63+ f"✅ ¡Conexión a la base de datos '{ credenciales ['database' ]} ' fue exitosa!\n "
6664 )
6765 except Error as err :
6866 if err .args [0 ] == DBACCESS_DENIED_ERROR :
6967 logging .error (
7068 "\x1b [1;31mERROR: ¡Algo está mal con su nombre de usuario o contraseña!"
7169 )
7270 elif err .args [0 ] == BAD_DB_ERROR :
73- logging .error ("\x1b [1;31mERROR : ¡La base de datos no existe!" )
71+ logging .error ("\x1b [1;31m❌ ERROR : ¡La base de datos no existe!" )
7472 else :
75- logging .error (f"\x1b [1;31mERROR: ¡ Se produjo lo siguiente: '{ err } '" )
73+ logging .error (f"\x1b [1;31m❌ ERROR: Se produjo lo siguiente: '{ err } '" )
7674 return conexion_bd
7775
7876
@@ -88,13 +86,13 @@ def crear_base_datos(conexion_bd, create_database_sql, bd):
8886 # Crear un objeto cursor para ejecutar script SQL
8987 cursor = conexion_bd .cursor ()
9088 try :
91- # Insertar una base de datos en el servidor MySQL
89+ # Crear una base de datos en el servidor MySQL
9290 cursor .execute (create_database_sql , bd )
93- logging .info (f"¡Creación exitosa de la base de datos '{ bd } '!\n " )
91+ logging .info (f"✅ ¡Creación exitosa de la base de datos '{ bd } '!\n " )
9492 except ProgrammingError as e :
95- logging .error (f"ERROR: ¡Se produjo una falla de programación: '{ e } '!" )
93+ logging .error (f"❌ ERROR: ¡Se produjo una falla de programación: '{ e } '!" )
9694 except OperationalError as e :
97- logging .error (f"ERROR: Se produjo lo siguiente: '{ e } '" )
95+ logging .error (f"❌ ERROR: Se produjo lo siguiente: '{ e } '" )
9896 return conexion_bd
9997
10098
@@ -110,19 +108,21 @@ def crear_tablas(conexion_bd, create_table_sql):
110108 cursor = conexion_bd .cursor ()
111109 # Crear la tabla(s) si no existe
112110 cursor .execute (create_table_sql )
113- # Confirmar la creación de la tabla
111+ # Hacer persistentes los cambios en la base de datos
114112 conexion_bd .commit ()
115113 logging .info (
116- f"¡Fueron creado(s) { cursor .rowcount } tabla(s) correctamente en la base de datos!\n "
114+ f"✅ ¡Fueron creado(s) { cursor .rowcount } tabla(s) correctamente en la base de datos!\n "
117115 )
118116 # Cerrar el cursor
119117 cursor .close ()
120118 except Error as error :
121- logging .error (f"¡Fallo la creación de tabla(s) en la base de datos!: { error } " )
119+ logging .error (
120+ f"❌ ERROR: ¡Fallo la creación de tabla(s) en la base de datos!: { error } "
121+ )
122122
123123
124124def insertar_registro (conexion_bd , insert_values , insert_sql ):
125- """Inserción de registro de la tabla
125+ """Función para la inserción de registro de la tabla
126126
127127 Args:
128128 conexion_bd (Connection): Representación conexión a la base de datos MySQL
@@ -132,34 +132,32 @@ def insertar_registro(conexion_bd, insert_values, insert_sql):
132132 try :
133133 # Crear un objeto cursor para ejecutar script SQL
134134 cursor = conexion_bd .cursor ()
135- # Confirmar la creación de la tabla
136- conexion_bd .commit ()
137135 # Insertar nuevos registros en la tabla
138136 cursor .executemany (insert_sql , insert_values )
139- # Confirmar la inserción de los registros
140- conexion_bd .commit ()
141137 logging .info (
142- f"¡Fueron insertado(s) { cursor .rowcount } registro(s) correctamente en la tabla!\n "
138+ f"✅ ¡Fueron insertado(s) { cursor .rowcount } registro(s) correctamente en la tabla!\n "
143139 )
144140 # Insertar un nuevo registro en la tabla
145141 cursor .execute (
146142 insert_sql , (4 , "Liliana" , "Andradez" , "3105" , "+58-414-6782473" )
147143 )
148- # Confirmar la inserción del registro
144+ # Hacer persistentes los cambios en la base de datos
149145 conexion_bd .commit ()
150146 logging .info (
151- f"¡Fueron insertado(s) { cursor .rowcount } registro(s) correctamente en la tabla!\n "
147+ f"✅ ¡Fueron insertado(s) { cursor .rowcount } registro(s) correctamente en la tabla!"
152148 )
153149 # Cerrar el cursor
154150 cursor .close ()
155151 except IntegrityError as error :
156- logging .error (f"¡Registro duplicado por clave primaria!: { error } " )
152+ logging .error (f"❌ ERROR: ¡Registro duplicado por clave primaria!: { error } " )
157153 except Error as error :
158- logging .error (f"¡Fallo la inserción de registro(s) en la tabla!: { error } " )
154+ logging .error (
155+ f"❌ ERROR: ¡Fallo la inserción de registro(s) en la tabla!: { error } "
156+ )
159157
160158
161159def consultar_registro (conexion_bd , select_sql ):
162- """Consulta de registro(s) de la tabla
160+ """Función para la consulta de registro(s) de la tabla
163161
164162 Args:
165163 conexion_bd (Connection): Representación conexión a la base de datos MySQL
@@ -173,8 +171,8 @@ def consultar_registro(conexion_bd, select_sql):
173171 # Recuperar los registros de la consulta
174172 registros = cursor .fetchall ()
175173 # Mostrar los registros de la tabla
176- print (f"Total de filas son: { len (registros )} \n " )
177- print ("Mostrar cada fila: \n " )
174+ print (f"\n 📜 Total de filas son: { len (registros )} \n " )
175+ print ("📜 Mostrar cada fila: \n " )
178176 for fila in registros :
179177 print (f"\t Id: { fila [0 ]} " )
180178 print (f"\t Nombre: { fila [1 ]} { fila [2 ]} " )
@@ -183,35 +181,39 @@ def consultar_registro(conexion_bd, select_sql):
183181 # Cerrar el cursor
184182 cursor .close ()
185183 except Error as error :
186- logging .error (f"¡Fallo la consulta de registro(s) en la tabla!: { error } " )
184+ logging .error (
185+ f"❌ ERROR: ¡Fallo la consulta de registro(s) en la tabla!: { error } "
186+ )
187187
188188
189189def actualizar_registro (conexion_bd , update_values , update_sql ):
190- """Actualización de registro de la tabla
190+ """Función para la actualización de registro de la tabla
191191
192192 Args:
193193 conexion_bd (Connection): Representación conexión a la base de datos MySQL
194194 update_values (list): Lista de filas a actualizar
195- update_sql (str): _description_
195+ update_sql (str): Script UPDATE SQL a usar al actualizar datos
196196 """
197197 try :
198198 # Crear un objeto cursor para ejecutar script SQL
199199 cursor = conexion_bd .cursor ()
200200 # Actualizar nuevos registros en la tabla
201201 cursor .executemany (update_sql , update_values )
202- # Guardar los cambios en la base de datos
202+ # Hacer persistentes los cambios en la base de datos
203203 conexion_bd .commit ()
204204 logging .info (
205- f"¡Fueron actualizado(s) { cursor .rowcount } registro(s) correctamente en la tabla!\n "
205+ f"✅ ¡Fueron actualizado(s) { cursor .rowcount } registro(s) correctamente en la tabla!\n "
206206 )
207207 # Cerrar el cursor
208208 cursor .close ()
209209 except Error as error :
210- logging .error (f"¡Fallo la actualización de registro(s) en la tabla!: { error } " )
210+ logging .error (
211+ f"❌ ERROR: ¡Fallo la actualización de registro(s) en la tabla!: { error } "
212+ )
211213
212214
213215def eliminar_registro (conexion_bd , delete_sql ):
214- """Eliminación de registro de la tabla
216+ """Función para la eliminación de registro de la tabla
215217
216218 Args:
217219 conexion_bd (Connection): Representación conexión a la base de datos MySQL
@@ -222,23 +224,38 @@ def eliminar_registro(conexion_bd, delete_sql):
222224 cursor = conexion_bd .cursor ()
223225 # Eliminar un fila de registro simple
224226 cursor .execute (delete_sql )
225- # Guardar los cambios en la base de datos
227+ # Hacer persistentes los cambios en la base de datos
226228 conexion_bd .commit ()
227- logging .info ("¡Registro eliminado correctamente!\n " )
229+ logging .info ("✅ ¡Registro eliminado correctamente!\n " )
228230 # Cerrar el cursor
229231 cursor .close ()
230232 except Error as error :
231- logging .error (f"¡Fallo la eliminación de registro(s) en la tabla!: { error } " )
233+ logging .error (
234+ f"❌ ERROR: ¡Fallo la eliminación de registro(s) en la tabla!: { error } "
235+ )
232236
233237
234238if __name__ == "__main__" :
235- # Crear conexión con un servidor MySQL
236- conexion = crear_conexion (HOST , PORT , USER , PASSW , DB )
237- # Crear la base de datos
238- # crear_base_datos(conexion, CREATE_DATABASE_SQL, DB)
239- # Crear la tabla dentro de la base de datos
240- crear_tablas (conexion , CREATE_TABLE_SQL )
241- insertar_registro (conexion , INSERT_MULTIPLE_COLUMNS , INSERT_SQL_SCRIPTS )
242- consultar_registro (conexion , SELECT_SQL_SCRIPTS )
243- actualizar_registro (conexion , UPDATE_MULTIPLE_COLUMNS , UPDATE_SQL_SCRIPTS )
244- eliminar_registro (conexion , DELETE_SQL_SCRIPTS )
239+ conexion = None
240+ try :
241+ # Crear conexión al servidor MySQL
242+ conexion = crear_conexion (HOST , PORT , USER , PASSW , DB )
243+ # Crear la base de datos
244+ # crear_base_datos(conexion, CREATE_DATABASE_SQL, DB)
245+ # Crear la tabla dentro de la base de datos
246+ crear_tablas (conexion , CREATE_TABLE_SQL )
247+ insertar_registro (conexion , INSERT_MULTIPLE_COLUMNS , INSERT_SQL_SCRIPTS )
248+ consultar_registro (conexion , SELECT_SQL_SCRIPTS )
249+ actualizar_registro (conexion , UPDATE_MULTIPLE_COLUMNS , UPDATE_SQL_SCRIPTS )
250+ eliminar_registro (conexion , DELETE_SQL_SCRIPTS )
251+ except Error as e :
252+ logging .error (
253+ f"❌ ERROR: ¡Se produjo un falla al establecer la conexión a la base de datos '{ DB } ': '{ e } '!"
254+ )
255+ finally :
256+ if conexion :
257+ # Cerrar la conexión a la base de datos
258+ conexion .close ()
259+ logging .info (
260+ f"✅ ¡La conexión PostgreSQL a la base de datos '{ DB } ' fue cerrada!"
261+ )
0 commit comments