Altas Bajas Consultas en Python y MySQL
Altas Bajas Consultas en Python y MySQL
Altas Bajas Consultas en Python y MySQL
base de datos MySQL e interactuar con las tablas contenidas en ella; los procesos: de almacenamiento,
actualización y eliminación de registros, serán tratados en este documento.
Herramientas necesarias
Una vez dentro del sistema gestor de bases de datos (SGBD), realiza el siguiente ejercicio:
USE tecnologia;
DESCRIBE usuarios;
+--------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| codigo | varchar(4) | NO | | NULL | |
| nombre | varchar(20) | NO | | NULL | |
+--------+-------------+------+-----+---------+----------------+
Se ha creado una base de datos llamada tecnologia (sin acento), que contiene una tabla llamada usuarios. La
tabla tiene 3 campos (id, codigo, nombre). Conociendo como está estructurado nuestro banco de datos,
procedemos a crear la aplicación ABC, con Python + myconnpy + MySQL.
Preparación del marco de trabajo
En el directorio de tu preferencia, crea una carpeta llamada abc_py, la cual será nuestro marco de trabajo.
Dentro de este directorio, crea los siguientes sub-directorios: config, functions, view.
Directorio config:
Este directorio tendrá los archivos, que a su vez contendrán los datos o credenciales de autenticación
para ingresar a MySQL. Por el momento únicamente crearemos un archivo nuevo llamado
“constantes.py” con el siguiente script.
'''
Constantes o credenciales para conectar con mysql
'''
Directorio functions:
Este directorio tendrá los archivos con las funciones necesarias para: conectarse con MySQL,
insertar datos, eliminar, modificar y listar. En este momento crearemos dos archivos (dbconnect.py y
abcfunctions.py), con las funciones que ejecutaran las acciones mencionadas.
return conn
El script anterior nos permite establecer conexión con MySQL; en este punto el programador debe
conocer la utilidad que los argumentos proporcionan al instanciar una función.
def save(codigo, nombre, cnx):
'''
Esta funcion nos permite almacenar registros en la tabla
usuarios. Los argumentos necesarios son:
codigo: Valor ingresado para el campo codigo
nombre: valor ingresado para el campo nombre
cnx: objeto conexion
'''
sql = "INSERT INTO `usuarios` SET `codigo`='%s', `nombre`='%s'" % (codigo, nombre)
cur = cnx.cursor()
cur.execute(sql)
query = ""
if not limit:
query = "SELECT * FROM `usuarios`"
else:
query = "SELECT * FROM `usuarios` LIMIT %s" % (limit)
cur = cnx.cursor()
cur.execute(query)
output = []
return output
El script dbfunctions.py, contiene las funciones necesarias para interactuar con la base de datos:
guardar, eliminar, listar. El alumno debe definir una función que permita al usuario final actualizar
registros, tomando como argumento el código de la fila que desea modificar.
Directorio views:
Este directorio tendrá los archivos con las funciones necesarias para: Mostar las pantallas de
ingreso, eliminación, actualización y lista de registros, dichas funciones están contenidas en un
archivo llamado interaction.py
def main_view():
cnx = dbc(DB_HOST, DB_USER, DB_PASS, DB_NAME)
seguir = True
while seguir:
print("Menu principal")
print("-"*30)
print("Que desea hacer?: ")
print("Listar registros: 1")
print("Guardar registros: 2")
print("Eliminar registros: 3")
eleccion = input("Eleccion: ")
if int(eleccion) == 1:
select_view(cnx)
elif int(eleccion) == 2:
save_view(cnx)
elif int(eleccion) == 3:
delete_view(cnx)
def save_view(cnx):
print("*" * 60)
print("Vision para almacenar registros")
print("-" * 60)
codigo = input("Codigo del usuario: ")
nombre = input("Nombre del usuario: ")
save(codigo, nombre, cnx)
time.sleep(1)
select_view(cnx)
def delete_view(cnx):
print("*" * 60)
print("Vision para eliminar registros")
print("-" * 60)
codigo = input("Codigo del usuario: ")
delete(codigo, cnx)
time.sleep(1)
select_view(cnx)
El programa debe definir una función que permita al usuario final interactuar con la función
actualizar.
Solo resta definir el archivo main.py, este ejecutara el sistema ABC, y lo estará contenido en la carpeta raíz de
la aplicación.
def main():
main_view()
if __name__ == "__main__":
main()
abc_py/
config/
constantes.py
__init__.py
functions/
abcfunctions.py
__init__.py
Views/
interaction.py
__init__.py
main.py