Mostrando entradas con la etiqueta SQL. Mostrar todas las entradas
Mostrando entradas con la etiqueta SQL. Mostrar todas las entradas

lunes, 7 de septiembre de 2026

馃殌 D脥A 14/30: El equivalente a "SELECT * WHERE" de SQL, pero en memoria RAM.

Tienes millones de registros y solo quieres los n煤meros pares o los usuarios mayores de edad. Las m谩scaras booleanas son magia.


import numpy as np

edades = np.array([15, 22, 17, 35, 12])

# 馃幁 Filtramos directamente poniendo la condici贸n dentro
mayores = edades[edades >= 18]
print(mayores) # [22, 35]

馃搶 GUARDA este snippet. Filtrar as铆 es hasta 100 veces m谩s r谩pido que usar bucles FOR.
馃憞 Etiqueta a alguien que trabaje con bases de datos y necesite este truco.






s谩bado, 5 de septiembre de 2026

馃殌 D脥A 13/30: Coordenadas precisas en tus tablas bidimensionales.

Acceder a datos en una tabla plana (Filas x Columnas) requiere dos claves. As铆 se hace en NumPy.


import numpy as np

tabla = np.array([[1, 2, 3],
[4, 5, 6]])

# 馃搷 [Fila, Columna] (Recuerda: empezamos en 0)
dato = tabla[1, 2]
print("Dato extra铆do:", dato) # 6
馃搶 GUARDA este esquema mental: Primero Filas (Y), luego Columnas (X).
馃憞 ¿Qu茅 c贸digo usar铆as para extraer el n煤mero 2? ¡A ver qui茅n acierta primero!




jueves, 27 de agosto de 2026

馃殌 D脥A 4/30: Moldeando datos a tu voluntad.

Tienes una lista plana de 12 meses de ventas, pero quieres verla como 4 trimestres de 3 meses. reshape es tu mejor amigo.

import numpy as np
meses = np.arange(1, 13) # Del 1 al 12
# 馃攧 Convertir lista 1D a matriz 2D (4x3)
trimestres = meses.reshape(4, 3)
print(trimestres)

馃搶 GUARDA el post para cuando tus datos no encajen en tu base de datos. 馃憞 Comenta "MOLDE" si quieres ver c贸mo conectar esto con bases de datos SQL en mi canal.

viernes, 24 de julio de 2026

D铆a 25 — SQLite: bases de datos sin instalar nada

SQLite es un sistema de base de datos ligero que viene incluido en la librer铆a est谩ndar de Python, sin necesidad de instalar ni configurar ning煤n servidor adicional. Es ideal para aplicaciones peque帽as, prototipos r谩pidos o para aprender los fundamentos de SQL desde un entorno controlado.

El m贸dulo sqlite3 permite crear tablas, insertar registros, realizar consultas y gestionar transacciones usando sentencias SQL est谩ndar, lo que hace que el conocimiento adquirido sea directamente transferible a otros motores de base de datos como MySQL o PostgreSQL.

C贸digo de ejemplo:

import sqlite3 conexion = sqlite3.connect("clientes.db") cursor = conexion.cursor() cursor.execute(""" CREATE TABLE IF NOT EXISTS clientes ( id INTEGER PRIMARY KEY, nombre TEXT, email TEXT ) """) cursor.execute("INSERT INTO clientes VALUES (1, 'Ana', 'ana@mail.com')") conexion.commit() for fila in cursor.execute("SELECT * FROM clientes"): print(fila) conexion.close()




domingo, 16 de marzo de 2025

馃憠 Ejercicios Pr谩cticos con Flask y PostgreSQL en Python

Ya aprendimos a conectar Flask con PostgreSQL. Ahora es momento de poner en pr谩ctica lo aprendido con ejercicios explicados paso a paso.

Hoy resolveremos ejercicios sobre:
✔️ Crear una base de datos PostgreSQL y conectarla a Flask
✔️ Definir modelos con SQLAlchemy
✔️ Construir una API REST para insertar y consultar datos
✔️ Actualizar y eliminar registros en PostgreSQL desde Flask

馃搶 Cada ejercicio incluye c贸digo, explicaci贸n y prueba de salida.


1️⃣ Ejercicio: Crear la Base de Datos y Conectarla con Flask

馃搷 Objetivo: Crear una base de datos PostgreSQL y conectarla a Flask usando SQLAlchemy.

馃搶 C贸digo:

from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) # Configurar PostgreSQL en Flask app.config["SQLALCHEMY_DATABASE_URI"] = "postgresql://mi_usuario:mi_clave@localhost/mi_app" app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False db = SQLAlchemy(app) @app.route("/") def home(): return "Conexi贸n exitosa con PostgreSQL" if __name__ == "__main__": app.run(debug=True)

馃搶 Salida esperada en http://127.0.0.1:5000/

Conexi贸n exitosa con PostgreSQL

✅ Este c贸digo establece la conexi贸n entre Flask y PostgreSQL.


2️⃣ Ejercicio: Definir un Modelo para Usuarios en PostgreSQL

馃搷 Objetivo: Crear una tabla usuarios en PostgreSQL con SQLAlchemy.

馃搶 C贸digo:

class Usuario(db.Model): id = db.Column(db.Integer, primary_key=True) nombre = db.Column(db.String(100), nullable=False) email = db.Column(db.String(120), unique=True, nullable=False) # Crear la tabla en PostgreSQL with app.app_context(): db.create_all()

馃搶 Salida esperada:

Tabla usuarios creada en PostgreSQL

✅ Ahora Flask puede almacenar y gestionar usuarios en PostgreSQL.


3️⃣ Ejercicio: Insertar Datos en PostgreSQL desde Flask

馃搷 Objetivo: Crear una API que permita agregar nuevos usuarios.

馃搶 C贸digo:

from flask import request, jsonify @app.route("/usuarios", methods=["POST"]) def agregar_usuario(): datos = request.json nuevo_usuario = Usuario(nombre=datos["nombre"], email=datos["email"]) db.session.add(nuevo_usuario) db.session.commit() return jsonify({"mensaje": "Usuario agregado correctamente"}), 201

馃搶 Ejemplo de JSON enviado en una petici贸n POST:

{ "nombre": "Carlos", "email": "carlos@example.com" }

馃搶 Salida esperada:

{ "mensaje": "Usuario agregado correctamente" }

✅ Ahora los usuarios pueden registrarse desde una API en Flask.


4️⃣ Ejercicio: Consultar Usuarios desde PostgreSQL

馃搷 Objetivo: Obtener una lista de usuarios desde PostgreSQL.

馃搶 C贸digo:

@app.route("/usuarios", methods=["GET"]) def obtener_usuarios(): usuarios = Usuario.query.all() usuarios_json = [ {"id": u.id, "nombre": u.nombre, "email": u.email} for u in usuarios ] return jsonify(usuarios_json)

馃搶 Salida esperada en http://127.0.0.1:5000/usuarios

[ {"id": 1, "nombre": "Carlos", "email": "carlos@example.com"}, {"id": 2, "nombre": "Ana", "email": "ana@example.com"} ]

✅ Ahora la API Flask puede consultar usuarios en PostgreSQL.


5️⃣ Ejercicio: Actualizar Datos de un Usuario

馃搷 Objetivo: Modificar el email de un usuario en PostgreSQL.

馃搶 C贸digo:

@app.route("/usuarios/<int:id>", methods=["PUT"]) def actualizar_usuario(id): datos = request.json usuario = Usuario.query.get_or_404(id) usuario.email = datos["email"] db.session.commit() return jsonify({"mensaje": "Usuario actualizado correctamente"})

馃搶 Ejemplo de JSON enviado en PUT:

{ "email": "nuevoemail@example.com" }

馃搶 Salida esperada:

{ "mensaje": "Usuario actualizado correctamente" }

✅ Permite modificar registros en la base de datos desde Flask.


6️⃣ Ejercicio: Eliminar un Usuario en PostgreSQL

馃搷 Objetivo: Borrar un usuario de la base de datos PostgreSQL.

馃搶 C贸digo:

@app.route("/usuarios/<int:id>", methods=["DELETE"]) def eliminar_usuario(id): usuario = Usuario.query.get_or_404(id) db.session.delete(usuario) db.session.commit() return jsonify({"mensaje": "Usuario eliminado correctamente"})

馃搶 Salida esperada:

{ "mensaje": "Usuario eliminado correctamente" }

✅ Ahora los usuarios pueden ser eliminados desde la API.


馃殌 Conclusi贸n

✅ Flask y PostgreSQL permiten construir APIs escalables en Python.
✅ SQLAlchemy facilita la manipulaci贸n de datos en la base de datos.
✅ Ahora puedes crear, leer, actualizar y eliminar registros en PostgreSQL.

馃搶 Pr贸ximo post: C贸mo autenticar usuarios en Flask con PostgreSQL.

馃搨 C贸digo disponible en mi GitHub: github.com/josecodetech

馃帴 Aprende con mis videos en YouTube: https://www.youtube.com/@josecodetech

馃挰 ¿Has trabajado con PostgreSQL en Flask? ¿Qu茅 tal tu experiencia? Cu茅ntamelo.



jueves, 13 de marzo de 2025

馃憠 Conectando Flask con PostgreSQL para Aplicaciones Web en Producci贸n

En el post anterior, desplegamos nuestra aplicaci贸n Flask con SQLite. Sin embargo, para proyectos m谩s grandes, PostgreSQL es una mejor opci贸n.

Hoy aprender谩s:
✔️ Por qu茅 usar PostgreSQL en vez de SQLite
✔️ C贸mo conectar Flask con PostgreSQL
✔️ Migrar datos de SQLite a PostgreSQL
✔️ Ejemplo paso a paso con SQLAlchemy

馃搶 Al final del tutorial, podr谩s manejar bases de datos PostgreSQL en Flask.


1️⃣ ¿Por qu茅 Usar PostgreSQL en Producci贸n?

馃搶 Diferencias entre SQLite y PostgreSQL:

Caracter铆sticaSQLitePostgreSQL
Uso recomendadoApps peque帽asProyectos grandes
Manejo de datosLocal (archivo)Cliente-servidor
ConcurrenciaLimitadaAlta escalabilidad
Soporte de usuariosNoS铆
Integraci贸n con la nubeNo recomendadaIdeal para producci贸n

馃敼 Usamos PostgreSQL cuando necesitamos:
✅ Alta concurrencia (m煤ltiples usuarios accediendo a la base de datos).
✅ Escalabilidad (mejor rendimiento en grandes vol煤menes de datos).
✅ Despliegue en producci贸n con plataformas en la nube.


2️⃣ Instalar PostgreSQL y Crear una Base de Datos

馃搶 Si no tienes PostgreSQL, inst谩lalo:

馃敼 En Linux (Ubuntu/Debian):

sudo apt update && sudo apt install postgresql postgresql-contrib

馃敼 En Windows:
Descarga desde postgresql.org e instala.

馃搶 Para acceder a PostgreSQL en la terminal:

sudo -i -u postgres
psql

馃搶 Crea una base de datos llamada mi_app:

CREATE DATABASE mi_app;

馃搶 Crea un usuario y otorga permisos:

CREATE USER mi_usuario WITH PASSWORD 'mi_clave';
GRANT ALL PRIVILEGES ON DATABASE mi_app TO mi_usuario;

✅ La base de datos PostgreSQL est谩 lista para usarse con Flask.


3️⃣ Conectar Flask con PostgreSQL

Usaremos SQLAlchemy, el ORM de Flask, para manejar PostgreSQL.

馃搶 Instala las dependencias:

pip install flask flask-sqlalchemy psycopg2-binary

馃搶 Configura Flask para conectarse a PostgreSQL:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) # Configurar PostgreSQL en Flask app.config["SQLALCHEMY_DATABASE_URI"] = "postgresql://mi_usuario:mi_clave@localhost/mi_app" app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False db = SQLAlchemy(app) @app.route("/") def home(): return "Conexi贸n exitosa con PostgreSQL" if __name__ == "__main__": app.run(debug=True)

馃搶 Explicaci贸n:
✅ SQLALCHEMY_DATABASE_URI → Define la conexi贸n con PostgreSQL.
✅ db = SQLAlchemy(app) → Inicializa SQLAlchemy en Flask.

馃搶 Ejecuta la aplicaci贸n:

python app.py

✅ Si visitas http://127.0.0.1:5000/ y ves "Conexi贸n exitosa con PostgreSQL", todo est谩 funcionando.


4️⃣ Migrar Datos de SQLite a PostgreSQL

Si tienes datos en SQLite, puedes migrarlos a PostgreSQL f谩cilmente.

馃搶 Pasos para migrar:

1️⃣ Exportar datos desde SQLite:

sqlite3 mi_base.db .dump > backup.sql

2️⃣ Convertir el formato de SQLite a PostgreSQL:
Abre backup.sql en un editor de texto y reemplaza:

  • "AUTOINCREMENT" por "SERIAL"
  • INSERT INTO "tabla" por INSERT INTO tabla

3️⃣ Importar datos en PostgreSQL:

psql -U mi_usuario -d mi_app -f backup.sql

✅ Los datos ahora est谩n en PostgreSQL y listos para usarse con Flask.


5️⃣ Crear una Tabla y Manipular Datos con SQLAlchemy

馃搶 C贸digo para definir y manipular datos en PostgreSQL con SQLAlchemy:

class Usuario(db.Model):
id = db.Column(db.Integer, primary_key=True) nombre = db.Column(db.String(100), nullable=False) email = db.Column(db.String(120), unique=True, nullable=False) # Crear la base de datos y la tabla with app.app_context(): db.create_all()

馃搶 Insertar datos en PostgreSQL desde Flask:

nuevo_usuario = Usuario(nombre="Jos茅", email="jose@example.com")
db.session.add(nuevo_usuario) db.session.commit()

馃搶 Consultar datos en PostgreSQL:

usuarios = Usuario.query.all()
for usuario in usuarios: print(usuario.nombre, usuario.email)

✅ PostgreSQL ahora est谩 completamente integrado con Flask.


馃殌 Conclusi贸n

✅ PostgreSQL es m谩s potente y escalable que SQLite para producci贸n.
✅ SQLAlchemy facilita la conexi贸n entre Flask y PostgreSQL.
✅ Migrar datos de SQLite a PostgreSQL es simple con .dump.

馃搶 Pr贸ximo post: Ejercicios pr谩cticos con Flask y PostgreSQL.

馃搨 C贸digo disponible en mi GitHub: github.com/josecodetech

馃帴 Aprende con mis videos en YouTube: https://www.youtube.com/@josecodetech/

馃挰 ¿Prefieres SQLite o PostgreSQL? Cu茅ntamelo en los comentarios.



domingo, 9 de marzo de 2025

馃憠 Ejercicios Pr谩cticos con Flask y SQLite en Python

Ya aprendimos a conectar SQLite con Flask para crear aplicaciones web din谩micas. Ahora es momento de poner en pr谩ctica lo aprendido con ejercicios explicados paso a paso.

Hoy resolveremos ejercicios sobre:
✔️ Conectar Flask con una base de datos SQLite
✔️ Crear una API para insertar y consultar datos
✔️ Actualizar y eliminar registros desde la web
✔️ Ejemplo pr谩ctico con un sistema de gesti贸n de tareas

馃搶 Cada ejercicio incluye c贸digo, explicaci贸n y prueba de salida.


1️⃣ Ejercicio: Crear la Base de Datos SQLite y una Tabla de Tareas

馃搷 Objetivo: Crear una base de datos tareas.db y una tabla tareas.

馃敼 C贸digo:

import sqlite3 conexion = sqlite3.connect("tareas.db") cursor = conexion.cursor() cursor.execute(""" CREATE TABLE IF NOT EXISTS tareas ( id INTEGER PRIMARY KEY AUTOINCREMENT, descripcion TEXT, estado TEXT ) """) conexion.commit() conexion.close() print("Base de datos y tabla de tareas creadas exitosamente.")

馃搶 Salida esperada:

Base de datos y tabla de tareas creadas exitosamente.

✅ Este c贸digo crea la base de datos SQLite con una tabla de tareas.


2️⃣ Ejercicio: Crear una API con Flask para Obtener las Tareas

馃搷 Objetivo: Crear una API con Flask para obtener todas las tareas almacenadas en SQLite.

馃敼 C贸digo:

from flask import Flask, jsonify import sqlite3 app = Flask(__name__) def get_db_connection(): conexion = sqlite3.connect("tareas.db") conexion.row_factory = sqlite3.Row return conexion @app.route("/tareas", methods=["GET"]) def obtener_tareas(): conexion = get_db_connection() cursor = conexion.cursor() cursor.execute("SELECT * FROM tareas") tareas = cursor.fetchall() conexion.close() tareas_json = [{"id": tarea["id"], "descripcion": tarea["descripcion"], "estado": tarea["estado"]} for tarea in tareas] return jsonify(tareas_json) if __name__ == "__main__": app.run(debug=True)

馃搶 Salida esperada en http://127.0.0.1:5000/tareas:

[ {"id": 1, "descripcion": "Terminar proyecto", "estado": "Pendiente"}, {"id": 2, "descripcion": "Enviar informe", "estado": "Completado"} ]

✅ Esta API permite obtener todas las tareas almacenadas en la base de datos.


3️⃣ Ejercicio: Agregar Tareas a la Base de Datos Desde una API

馃搷 Objetivo: Permitir que los usuarios agreguen tareas mediante una API Flask.

馃敼 C贸digo:

from flask import request @app.route("/tareas", methods=["POST"]) def agregar_tarea(): nueva_tarea = request.json conexion = get_db_connection() cursor = conexion.cursor() cursor.execute("INSERT INTO tareas (descripcion, estado) VALUES (?, ?)", (nueva_tarea["descripcion"], nueva_tarea["estado"])) conexion.commit() conexion.close() return jsonify({"mensaje": "Tarea agregada correctamente"}), 201

馃搶 Ejemplo de JSON enviado en una petici贸n POST:

{ "descripcion": "Aprender Flask", "estado": "Pendiente" }

馃搶 Salida esperada:

{ "mensaje": "Tarea agregada correctamente" }

✅ Este c贸digo permite que los usuarios a帽adan tareas a la base de datos.


4️⃣ Ejercicio: Actualizar el Estado de una Tarea

馃搷 Objetivo: Modificar el estado de una tarea en la base de datos.

馃敼 C贸digo:

@app.route("/tareas/<int:id>", methods=["PUT"]) def actualizar_tarea(id): datos = request.json conexion = get_db_connection() cursor = conexion.cursor() cursor.execute("UPDATE tareas SET estado = ? WHERE id = ?", (datos["estado"], id)) conexion.commit() conexion.close() return jsonify({"mensaje": "Tarea actualizada correctamente"})

馃搶 Ejemplo de JSON enviado en una petici贸n PUT:

{ "estado": "Completado" }

馃搶 Salida esperada:

{ "mensaje": "Tarea actualizada correctamente" }

✅ Este c贸digo permite actualizar el estado de una tarea espec铆fica.


5️⃣ Ejercicio: Eliminar una Tarea de la Base de Datos

馃搷 Objetivo: Borrar una tarea de la base de datos SQLite.

馃敼 C贸digo:

@app.route("/tareas/<int:id>", methods=["DELETE"]) def eliminar_tarea(id): conexion = get_db_connection() cursor = conexion.cursor() cursor.execute("DELETE FROM tareas WHERE id = ?", (id,)) conexion.commit() conexion.close() return jsonify({"mensaje": "Tarea eliminada correctamente"})

馃搶 Salida esperada al eliminar una tarea:

{ "mensaje": "Tarea eliminada correctamente" }

✅ 脷til para eliminar registros innecesarios.


馃殌 Conclusi贸n

✅ Hoy hemos resuelto ejercicios con Flask y SQLite en Python.
✅ Estos ejercicios permiten crear APIs para gestionar tareas desde una base de datos.
✅ Practica modificando el c贸digo para entenderlo mejor.

馃搶 Pr贸ximo post: C贸mo desplegar una aplicaci贸n Flask con SQLite en la nube.

馃搨 Descarga los ejercicios en mi GitHub: github.com/josecodetech

馃帴 Aprende con mis videos en YouTube: https://www.youtube.com/@josecodetech

馃挰 ¿Te gustar铆a agregar nuevas funciones a este proyecto? ¡Com茅ntalo!



viernes, 7 de marzo de 2025

馃憠 Conectando SQLite con una Aplicaci贸n Web en Python: Flask y Bases de Datos

 

Hemos aprendido a manejar bases de datos SQLite en Python. Ahora daremos un paso m谩s: conectar SQLite con una aplicaci贸n web usando Flask.

Hoy aprender谩s:
✔️ ¿Qu茅 es Flask y por qu茅 usarlo?
✔️ C贸mo conectar Flask con SQLite
✔️ Crear una API para interactuar con la base de datos
✔️ Consultar y mostrar datos en una p谩gina web
✔️ Ejemplo pr谩ctico paso a paso

馃搶 Con este tutorial, podr谩s construir aplicaciones web din谩micas con bases de datos.


1️⃣ ¿Qu茅 es Flask y por qu茅 usarlo?

Flask es un framework ligero para crear aplicaciones web en Python.

馃搶 Ventajas de Flask:
✅ F谩cil de aprender y usar
✅ Permite crear APIs y p谩ginas web din谩micas
✅ Compatible con bases de datos como SQLite
✅ Ideal para proyectos peque帽os y medianos

Para instalar Flask, ejecuta:

pip install flask

2️⃣ Conectar Flask con SQLite

El primer paso es crear un archivo app.py y configurar la conexi贸n con SQLite.

馃搶 C贸digo para conectar Flask con SQLite:

from flask import Flask, g
import sqlite3 app = Flask(__name__) DATABASE = "mi_base.db" def get_db(): db = getattr(g, "_database", None) if db is None: db = g._database = sqlite3.connect(DATABASE) return db @app.teardown_appcontext def close_connection(exception): db = getattr(g, "_database", None) if db is not None: db.close()

馃搶 Explicaci贸n:
✅ sqlite3.connect(DATABASE) → Conecta SQLite con Flask.
✅ get_db() → Obtiene la conexi贸n a la base de datos.
✅ @app.teardown_appcontext → Cierra la conexi贸n cuando termina la petici贸n.


3️⃣ Crear una API con Flask y SQLite

Vamos a crear una API REST que devuelva los datos almacenados en SQLite.

馃搶 C贸digo para obtener todos los registros de una tabla productos:

from flask import jsonify
@app.route("/productos", methods=["GET"]) def get_productos(): db = get_db() cursor = db.cursor() cursor.execute("SELECT * FROM productos") productos = cursor.fetchall() productos_json = [ {"id": p[0], "nombre": p[1], "precio": p[2], "stock": p[3]} for p in productos ] return jsonify(productos_json)

馃搶 Explicaci贸n:
✅ @app.route("/productos") → Define una ruta para obtener los productos.
✅ jsonify(productos_json) → Devuelve los datos en formato JSON.

馃搶 Salida esperada al visitar http://127.0.0.1:5000/productos en el navegador:

[
{"id": 1, "nombre": "Laptop", "precio": 1200.5, "stock": 10}, {"id": 2, "nombre": "Mouse", "precio": 25.99, "stock": 50} ]

4️⃣ Insertar Datos desde una API Flask

Tambi茅n podemos permitir que los usuarios env铆en datos a la base de datos.

馃搶 C贸digo para insertar productos en la base de datos:

from flask import request
@app.route("/productos", methods=["POST"]) def add_producto(): nuevo_producto = request.json db = get_db() cursor = db.cursor() cursor.execute("INSERT INTO productos (nombre, precio, stock) VALUES (?, ?, ?)", (nuevo_producto["nombre"], nuevo_producto["precio"], nuevo_producto["stock"])) db.commit() return jsonify({"mensaje": "Producto agregado correctamente"}), 201

馃搶 Explicaci贸n:
✅ request.json → Recibe los datos enviados en formato JSON.
✅ INSERT INTO productos (...) VALUES (...) → Inserta un nuevo registro en la base de datos.

馃搶 Ejemplo de JSON enviado en una petici贸n POST:

{
"nombre": "Teclado", "precio": 45.75, "stock": 30 }

✅ El producto se agregar谩 a la base de datos y la API responder谩 con un mensaje de 茅xito.


5️⃣ Mostrar los Datos en una P谩gina Web con Flask y SQLite

Flask tambi茅n nos permite mostrar los datos en una p谩gina HTML en lugar de JSON.

馃搶 C贸digo para mostrar los productos en una plantilla HTML:

from flask import render_template
@app.route("/") def index(): db = get_db() cursor = db.cursor() cursor.execute("SELECT * FROM productos") productos = cursor.fetchall() return render_template("index.html", productos=productos)

馃搶 Plantilla templates/index.html:

<!DOCTYPE html>
<html> <head> <title>Lista de Productos</title> </head> <body> <h1>Productos Disponibles</h1> <ul> {% for producto in productos %} <li>{{ producto[1] }} - Precio: {{ producto[2] }} USD - Stock: {{ producto[3] }}</li> {% endfor %} </ul> </body> </html>

馃搶 Explicaci贸n:
✅ render_template("index.html") → Carga una plantilla HTML.
✅ {% for producto in productos %} → Muestra cada producto en la p谩gina.

馃搶 Salida esperada en el navegador:

Productos Disponibles
- Laptop - Precio: 1200.5 USD - Stock: 10 - Mouse - Precio: 25.99 USD - Stock: 50

✅ Esta p谩gina muestra los productos almacenados en SQLite.


馃殌 Conclusi贸n

✅ Flask permite conectar aplicaciones web con SQLite en Python.
✅ Podemos crear APIs REST para interactuar con la base de datos.
✅ Los datos pueden mostrarse en formato JSON o en una p谩gina HTML.

馃搶 Pr贸ximo post: Ejercicios pr谩cticos con Flask y SQLite en Python.

馃搨 C贸digo disponible en mi GitHub: github.com/josecodetech

馃帴 Aprende con mis videos en YouTube: https://www.youtube.com/@josecodetech

馃挰 ¿Has trabajado con bases de datos en aplicaciones web? Cu茅ntamelo.



mi茅rcoles, 5 de marzo de 2025

馃憠 Ejercicios Pr谩cticos con Bases de Datos SQLite en Python

Ya aprendimos a crear, insertar y consultar datos en bases de datos SQLite en Python. Ahora es momento de poner en pr谩ctica lo aprendido con ejercicios explicados paso a paso.

Hoy resolveremos ejercicios sobre:
✔️ Conectar y crear una base de datos SQLite
✔️ Insertar m煤ltiples registros en una tabla
✔️ Consultar, actualizar y eliminar datos
✔️ Ejemplo pr谩ctico con una base de datos de productos

馃搶 Cada ejercicio incluye el c贸digo, explicaci贸n y prueba de salida.


1️⃣ Ejercicio: Crear una Base de Datos SQLite y una Tabla

馃搷 Objetivo: Crear una base de datos llamada tienda.db y una tabla productos.

馃敼 C贸digo:

import sqlite3 conexion = sqlite3.connect("tienda.db") cursor = conexion.cursor() cursor.execute(""" CREATE TABLE IF NOT EXISTS productos ( id INTEGER PRIMARY KEY AUTOINCREMENT, nombre TEXT, precio REAL, stock INTEGER ) """) conexion.commit() conexion.close() print("Base de datos y tabla creadas exitosamente.")

✅ Este c贸digo crea una base de datos SQLite con una tabla productos.

馃搶 Salida esperada:

Base de datos y tabla creadas exitosamente.

2️⃣ Ejercicio: Insertar Productos en la Base de Datos

馃搷 Objetivo: Insertar varios productos en la tabla productos.

馃敼 C贸digo:

conexion = sqlite3.connect("tienda.db") cursor = conexion.cursor() productos = [ ("Laptop", 1200.50, 10), ("Mouse", 25.99, 50), ("Teclado", 45.75, 30), ("Monitor", 300.00, 15) ] cursor.executemany("INSERT INTO productos (nombre, precio, stock) VALUES (?, ?, ?)", productos) conexion.commit() conexion.close() print("Productos agregados correctamente.")

馃搶 Salida esperada:

Productos agregados correctamente.

✅ Este c贸digo inserta m煤ltiples registros en la tabla de productos.


3️⃣ Ejercicio: Consultar los Productos Disponibles

馃搷 Objetivo: Obtener todos los productos almacenados en la base de datos.

馃敼 C贸digo:

conexion = sqlite3.connect("tienda.db") cursor = conexion.cursor() cursor.execute("SELECT * FROM productos") productos = cursor.fetchall() for producto in productos: print(producto) conexion.close()

馃搶 Salida esperada:

(1, 'Laptop', 1200.5, 10) (2, 'Mouse', 25.99, 50) (3, 'Teclado', 45.75, 30) (4, 'Monitor', 300.0, 15)

✅ Ideal para visualizar los datos almacenados en SQLite.


4️⃣ Ejercicio: Actualizar el Stock de un Producto

馃搷 Objetivo: Modificar la cantidad de stock de un producto en la base de datos.

馃敼 C贸digo:

conexion = sqlite3.connect("tienda.db") cursor = conexion.cursor() cursor.execute("UPDATE productos SET stock = ? WHERE nombre = ?", (20, "Laptop")) conexion.commit() conexion.close() print("Stock actualizado correctamente.")

馃搶 Salida esperada:

Stock actualizado correctamente.

✅ Permite actualizar datos en la base de datos.


5️⃣ Ejercicio: Eliminar un Producto de la Base de Datos

馃搷 Objetivo: Borrar un producto de la base de datos SQLite.

馃敼 C贸digo:

conexion = sqlite3.connect("tienda.db") cursor = conexion.cursor() cursor.execute("DELETE FROM productos WHERE nombre = ?", ("Mouse",)) conexion.commit() conexion.close() print("Producto eliminado correctamente.")

馃搶 Salida esperada:

Producto eliminado correctamente.

✅ 脷til para eliminar registros innecesarios.


馃殌 Conclusi贸n

✅ Hoy hemos resuelto ejercicios con bases de datos SQLite en Python.
✅ Estos ejercicios permiten gestionar informaci贸n almacenada en una base de datos.
✅ Practica modificando el c贸digo para entenderlo mejor.

馃搶 Pr贸ximo post: C贸mo conectar SQLite con una aplicaci贸n web en Python.

馃搨 Descarga los ejercicios en mi GitHub: github.com/josecodetech

馃帴 Aprende con mis videos en YouTube: https://www.youtube.com/@josecodetech

馃挰 ¿Qu茅 tipo de datos te gustar铆a gestionar en SQLite? Com茅ntamelo.