Skip to content

IrisFernandaAmorim/SQL_Python_KnowledgeNuggets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐍 Píldora Base de Datos Relacionales: Ejemplo práctico de CRUD con Python + MySQL

Este repositorio es el complemento práctico de nuestra clase sobre Bases de Datos Relacionales.

Si estuviste en la sesión, ya sabes cómo crear tablas y hacer consultas en MySQL Workbench. Ahora, vamos a dar el siguiente paso: ¡Aprenderemos a conectar ese motor de base de datos con nuestro código en Python usando VS Code!


📚 1. Conceptos Básicos (Lo que vimos en clase)

Antes de tocar el código, recordemos tres pilares fundamentales:

  1. La Biblioteca (Base de Datos): No solo guardamos datos, queremos encontrarlos en milisegundos.
  2. SQL: Es el idioma que usamos para darle órdenes a la biblioteca.
    • DDL: Para construir las estanterías (CREATE TABLE).
    • DML: Para mover los libros/datos (INSERT, UPDATE, DELETE).
    • DQL: El Rey SELECT para leer lo que hay dentro.
  3. PK (Primary Key): El "DNI" del dato. En nuestra tabla alumnos, el id es único e irrepetible.

📂 2. ¿Qué hay dentro de este repositorio?

Para que el código sea profesional y ordenado, usamos una arquitectura llamada MVC (Modelo-Vista-Controlador). Aquí tienes el mapa de archivos:

  • 📁 docs/: Dentro encontrarás el archivo Pildora Bases de datos relacionales.pdf. Es la presentación que vimos en clase. Úsala para repasar conceptos como DDL, DML y la metáfora de la biblioteca mientras revisas el código.
  • 📁 sql/: Contiene el archivo .sql. Es el plano de construcción que debes ejecutar en MySQL Workbench para crear la base de datos.
  • 📁 src/config/: Aquí está el "enchufe". Contiene el código para conectar Python con MySQL.
  • 📁 src/models/: El Modelo. Es la parte del código que "sabe" hablar SQL. Aquí están los INSERT, SELECT, etc.
  • 📁 src/controllers/: El Controlador. Es el cerebro que organiza la lógica (ej: "¿Quieres borrar un dato? Llamemos a la función de borrar").
  • 📄 src/main.py: La Vista. Es lo que verás en tu terminal (el menú interactivo).

🛠️ 3. Cómo ponerlo en marcha en tu máquina

Sigue este paso a paso para que no te pierdas:

Paso 1: Preparar la Base de Datos

Abre tu MySQL Workbench y ejecuta el script que está en sql/schema.sql. Esto creará la base de datos bootcamp_ia y la tabla alumnos.

Paso 2: Instalar el Conector

Python no sabe hablar con MySQL por defecto, necesita un "traductor". Instálalo abriendo la terminal en VS Code y escribiendo:

pip install mysql-connector-python

Paso 3: ¡Cambia esto en el código!

Para que Python pueda entrar en tu MySQL local, debes configurar tus credenciales. Abre el archivo src/config/db_connection.py y busca estas líneas:

connection = mysql.connector.connect(
    host='localhost',
    user='TU_USUARIO',          # Asegúrate de añadir tu usuario (normalmente root)
    password='TU_CONTRASEÑA',     # ¡CAMBIA ESTO por tu contraseña de MySQL Workbench!
    database='bootcamp_ia'
)

Paso 4: Ejecutar

Una vez configurado, ve a la terminal y ejecuta:

python src/main.py

🧠 4. Entendiendo el CRUD en el código

Cuando ejecutes el programa, verás un menú con estas opciones:

C (Create): Cuando eliges "Registrar Alumno", Python envía un INSERT a MySQL.

R (Read): Al elegir "Ver Alumnos", Python usa un SELECT y nos trae la lista.

U (Update): Cambiamos datos de un alumno existente usando su ID.

D (Delete): Eliminamos un registro de la tabla.


🙋‍♀️ Autora

Iris Fernanda Amorim

Este repositorio es material complementario de la píldora sobre Base de datos relacionales, presentado en el modulo I de la formación de Inteligencia Artifical de factoría F5.

About

Conectando Python con MySQL: Proyecto educativo para aprender las operaciones CRUD y los fundamentos de SQL desde VS Code. Este repositorio es material complementario de la píldora sobre Base de Datos Relacionales, presentado en el módulo I de la formación de IA de Factoría F5.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages