Actualización en la BD
En este capítulo, aprenderemos cómo actualizar registros en una base de datos utilizando SQLAlchemy. La actualización de registros es fundamental al modificar datos existentes en tus tablas, como cambiar descripciones u otros campos. SQLAlchemy proporciona métodos eficientes y sencillos para realizar actualizaciones.
Actualización de un solo registro
La operación de actualización más común es la modificación de un solo registro. Para ello, es necesario obtener el objeto, actualizar sus atributos y luego guardar los cambios.
product = session.query(Product).filter(Product.id == 1).first()
if product:
product.description = "Updated description for high-end gaming laptop"
session.commit()
Para recuperar un producto por su ID, se utiliza una consulta con un filtro que especifica el ID deseado. Después de actualizar el description
del producto, al llamar a session.commit()
se guardan los cambios en la base de datos.
Actualización de múltiples registros
En ocasiones, es necesario actualizar varios registros a la vez. SQLAlchemy permite utilizar filter()
junto con el método update()
para modificar registros de manera eficiente.
session.query(Product).filter(Product.price > 1000).update(
{Product.description: "Updated description for premium products"},
synchronize_session="fetch"
)
session.commit()
Para filtrar productos con un precio superior a $1000, se utiliza una consulta con una condición sobre el precio. El método update
aplica los cambios deseados a todos los registros coincidentes, mientras que el argumento synchronize_session="fetch"
asegura que la sesión permanezca sincronizada después de la actualización.
Actualizaciones masivas
Para cambios a gran escala, las actualizaciones masivas son más eficientes, ya que modifican directamente los registros de la base de datos sin cargar los objetos en memoria. Esto las hace ideales para actualizar muchas filas a la vez.
session.query(Product).filter(Product.price < 500).update(
{Product.description: "Generic description for affordable products"},
synchronize_session="fetch"
)
session.commit()
Este código actualiza de manera eficiente la description de todos los productos con un precio inferior a $500 en una sola operación. Las actualizaciones masivas son más rápidas y ahorran memoria en comparación con la actualización individual de registros.
Swipe to start coding
- Recuperar todos los productos de la base de datos.
- Calcular el nuevo precio para cada producto reduciéndolo en un 20%.
- Guardar los precios actualizados en la base de datos.
Solución
¡Gracias por tus comentarios!
single
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 4.76
Actualización en la BD
Desliza para mostrar el menú
En este capítulo, aprenderemos cómo actualizar registros en una base de datos utilizando SQLAlchemy. La actualización de registros es fundamental al modificar datos existentes en tus tablas, como cambiar descripciones u otros campos. SQLAlchemy proporciona métodos eficientes y sencillos para realizar actualizaciones.
Actualización de un solo registro
La operación de actualización más común es la modificación de un solo registro. Para ello, es necesario obtener el objeto, actualizar sus atributos y luego guardar los cambios.
product = session.query(Product).filter(Product.id == 1).first()
if product:
product.description = "Updated description for high-end gaming laptop"
session.commit()
Para recuperar un producto por su ID, se utiliza una consulta con un filtro que especifica el ID deseado. Después de actualizar el description
del producto, al llamar a session.commit()
se guardan los cambios en la base de datos.
Actualización de múltiples registros
En ocasiones, es necesario actualizar varios registros a la vez. SQLAlchemy permite utilizar filter()
junto con el método update()
para modificar registros de manera eficiente.
session.query(Product).filter(Product.price > 1000).update(
{Product.description: "Updated description for premium products"},
synchronize_session="fetch"
)
session.commit()
Para filtrar productos con un precio superior a $1000, se utiliza una consulta con una condición sobre el precio. El método update
aplica los cambios deseados a todos los registros coincidentes, mientras que el argumento synchronize_session="fetch"
asegura que la sesión permanezca sincronizada después de la actualización.
Actualizaciones masivas
Para cambios a gran escala, las actualizaciones masivas son más eficientes, ya que modifican directamente los registros de la base de datos sin cargar los objetos en memoria. Esto las hace ideales para actualizar muchas filas a la vez.
session.query(Product).filter(Product.price < 500).update(
{Product.description: "Generic description for affordable products"},
synchronize_session="fetch"
)
session.commit()
Este código actualiza de manera eficiente la description de todos los productos con un precio inferior a $500 en una sola operación. Las actualizaciones masivas son más rápidas y ahorran memoria en comparación con la actualización individual de registros.
Swipe to start coding
- Recuperar todos los productos de la base de datos.
- Calcular el nuevo precio para cada producto reduciéndolo en un 20%.
- Guardar los precios actualizados en la base de datos.
Solución
¡Gracias por tus comentarios!
single