Menu iconMenu icon
Python y SQL Biblia

Capítulo 19: Operaciones avanzadas de base de datos con SQLAlchemy

19.4 Operaciones CRUD con SQLAlchemy ORM

Ahora que tenemos nuestra clase User definida, podemos usarla para interactuar con la tabla users de varias maneras. Por ejemplo, podemos consultar la tabla para recuperar registros específicos según ciertos criterios, o podemos insertar nuevos registros en la tabla. También podemos actualizar registros existentes en la tabla para reflejar cambios en los datos de usuario correspondientes, o podemos eliminar registros de la tabla por completo. Estas operaciones a menudo se denominan operaciones CRUD, que significa Crear, Leer, Actualizar y Eliminar. Al usar nuestra clase User para ejecutar estas operaciones, podemos asegurarnos de que nuestra aplicación interactúe con nuestra base de datos de manera confiable y consistente. Esto ayuda a reducir errores y garantiza que nuestros datos permanezcan precisos y actualizados en todo momento.

19.4.1 Creación de Registros

Primero, veamos cómo agregar nuevos registros a nuestra tabla:

new_user = User(name='newuser', fullname='New User', nickname='newbie')
session.add(new_user)
session.commit()

En este código, primero creamos una nueva instancia de nuestra clase User. Luego, usamos el método add() de nuestra sesión para preparar al nuevo usuario para su inserción. Finalmente, usamos el método commit() de nuestra sesión para aplicar los cambios a la base de datos.

19.4.2 Lectura de Registros

Podemos usar nuestra sesión para consultar la base de datos en busca de registros. Así es como podemos obtener todos los usuarios:

users = session.query(User).all()
for user in users:
    print(user.name, user.fullname)

También podemos filtrar nuestra consulta para obtener usuarios específicos:

users = session.query(User).filter(User.name == 'newuser').all()
for user in users:
    print(user.name, user.fullname)

19.4.3 Actualización de Registros

Para actualizar un registro, primero lo consultamos, luego cambiamos sus atributos y, finalmente, confirmamos la sesión:

user = session.query(User).filter(User.name == 'newuser').first()
user.nickname = 'experienced'
session.commit()

19.4.4 Eliminación de Registros

Para eliminar un registro, nuevamente lo consultamos, luego usamos el método delete() de nuestra sesión:

user = session.query(User).filter(User.name == 'newuser').first()
session.delete(user)
session.commit()

Esa es una visión general de cómo puedes usar SQLAlchemy ORM para realizar operaciones CRUD en una base de datos PostgreSQL. En las siguientes secciones, profundizaremos en el uso de SQLAlchemy ORM, explorando temas como consultas complejas, relaciones entre tablas y gestión de transacciones.

19.4 Operaciones CRUD con SQLAlchemy ORM

Ahora que tenemos nuestra clase User definida, podemos usarla para interactuar con la tabla users de varias maneras. Por ejemplo, podemos consultar la tabla para recuperar registros específicos según ciertos criterios, o podemos insertar nuevos registros en la tabla. También podemos actualizar registros existentes en la tabla para reflejar cambios en los datos de usuario correspondientes, o podemos eliminar registros de la tabla por completo. Estas operaciones a menudo se denominan operaciones CRUD, que significa Crear, Leer, Actualizar y Eliminar. Al usar nuestra clase User para ejecutar estas operaciones, podemos asegurarnos de que nuestra aplicación interactúe con nuestra base de datos de manera confiable y consistente. Esto ayuda a reducir errores y garantiza que nuestros datos permanezcan precisos y actualizados en todo momento.

19.4.1 Creación de Registros

Primero, veamos cómo agregar nuevos registros a nuestra tabla:

new_user = User(name='newuser', fullname='New User', nickname='newbie')
session.add(new_user)
session.commit()

En este código, primero creamos una nueva instancia de nuestra clase User. Luego, usamos el método add() de nuestra sesión para preparar al nuevo usuario para su inserción. Finalmente, usamos el método commit() de nuestra sesión para aplicar los cambios a la base de datos.

19.4.2 Lectura de Registros

Podemos usar nuestra sesión para consultar la base de datos en busca de registros. Así es como podemos obtener todos los usuarios:

users = session.query(User).all()
for user in users:
    print(user.name, user.fullname)

También podemos filtrar nuestra consulta para obtener usuarios específicos:

users = session.query(User).filter(User.name == 'newuser').all()
for user in users:
    print(user.name, user.fullname)

19.4.3 Actualización de Registros

Para actualizar un registro, primero lo consultamos, luego cambiamos sus atributos y, finalmente, confirmamos la sesión:

user = session.query(User).filter(User.name == 'newuser').first()
user.nickname = 'experienced'
session.commit()

19.4.4 Eliminación de Registros

Para eliminar un registro, nuevamente lo consultamos, luego usamos el método delete() de nuestra sesión:

user = session.query(User).filter(User.name == 'newuser').first()
session.delete(user)
session.commit()

Esa es una visión general de cómo puedes usar SQLAlchemy ORM para realizar operaciones CRUD en una base de datos PostgreSQL. En las siguientes secciones, profundizaremos en el uso de SQLAlchemy ORM, explorando temas como consultas complejas, relaciones entre tablas y gestión de transacciones.

19.4 Operaciones CRUD con SQLAlchemy ORM

Ahora que tenemos nuestra clase User definida, podemos usarla para interactuar con la tabla users de varias maneras. Por ejemplo, podemos consultar la tabla para recuperar registros específicos según ciertos criterios, o podemos insertar nuevos registros en la tabla. También podemos actualizar registros existentes en la tabla para reflejar cambios en los datos de usuario correspondientes, o podemos eliminar registros de la tabla por completo. Estas operaciones a menudo se denominan operaciones CRUD, que significa Crear, Leer, Actualizar y Eliminar. Al usar nuestra clase User para ejecutar estas operaciones, podemos asegurarnos de que nuestra aplicación interactúe con nuestra base de datos de manera confiable y consistente. Esto ayuda a reducir errores y garantiza que nuestros datos permanezcan precisos y actualizados en todo momento.

19.4.1 Creación de Registros

Primero, veamos cómo agregar nuevos registros a nuestra tabla:

new_user = User(name='newuser', fullname='New User', nickname='newbie')
session.add(new_user)
session.commit()

En este código, primero creamos una nueva instancia de nuestra clase User. Luego, usamos el método add() de nuestra sesión para preparar al nuevo usuario para su inserción. Finalmente, usamos el método commit() de nuestra sesión para aplicar los cambios a la base de datos.

19.4.2 Lectura de Registros

Podemos usar nuestra sesión para consultar la base de datos en busca de registros. Así es como podemos obtener todos los usuarios:

users = session.query(User).all()
for user in users:
    print(user.name, user.fullname)

También podemos filtrar nuestra consulta para obtener usuarios específicos:

users = session.query(User).filter(User.name == 'newuser').all()
for user in users:
    print(user.name, user.fullname)

19.4.3 Actualización de Registros

Para actualizar un registro, primero lo consultamos, luego cambiamos sus atributos y, finalmente, confirmamos la sesión:

user = session.query(User).filter(User.name == 'newuser').first()
user.nickname = 'experienced'
session.commit()

19.4.4 Eliminación de Registros

Para eliminar un registro, nuevamente lo consultamos, luego usamos el método delete() de nuestra sesión:

user = session.query(User).filter(User.name == 'newuser').first()
session.delete(user)
session.commit()

Esa es una visión general de cómo puedes usar SQLAlchemy ORM para realizar operaciones CRUD en una base de datos PostgreSQL. En las siguientes secciones, profundizaremos en el uso de SQLAlchemy ORM, explorando temas como consultas complejas, relaciones entre tablas y gestión de transacciones.

19.4 Operaciones CRUD con SQLAlchemy ORM

Ahora que tenemos nuestra clase User definida, podemos usarla para interactuar con la tabla users de varias maneras. Por ejemplo, podemos consultar la tabla para recuperar registros específicos según ciertos criterios, o podemos insertar nuevos registros en la tabla. También podemos actualizar registros existentes en la tabla para reflejar cambios en los datos de usuario correspondientes, o podemos eliminar registros de la tabla por completo. Estas operaciones a menudo se denominan operaciones CRUD, que significa Crear, Leer, Actualizar y Eliminar. Al usar nuestra clase User para ejecutar estas operaciones, podemos asegurarnos de que nuestra aplicación interactúe con nuestra base de datos de manera confiable y consistente. Esto ayuda a reducir errores y garantiza que nuestros datos permanezcan precisos y actualizados en todo momento.

19.4.1 Creación de Registros

Primero, veamos cómo agregar nuevos registros a nuestra tabla:

new_user = User(name='newuser', fullname='New User', nickname='newbie')
session.add(new_user)
session.commit()

En este código, primero creamos una nueva instancia de nuestra clase User. Luego, usamos el método add() de nuestra sesión para preparar al nuevo usuario para su inserción. Finalmente, usamos el método commit() de nuestra sesión para aplicar los cambios a la base de datos.

19.4.2 Lectura de Registros

Podemos usar nuestra sesión para consultar la base de datos en busca de registros. Así es como podemos obtener todos los usuarios:

users = session.query(User).all()
for user in users:
    print(user.name, user.fullname)

También podemos filtrar nuestra consulta para obtener usuarios específicos:

users = session.query(User).filter(User.name == 'newuser').all()
for user in users:
    print(user.name, user.fullname)

19.4.3 Actualización de Registros

Para actualizar un registro, primero lo consultamos, luego cambiamos sus atributos y, finalmente, confirmamos la sesión:

user = session.query(User).filter(User.name == 'newuser').first()
user.nickname = 'experienced'
session.commit()

19.4.4 Eliminación de Registros

Para eliminar un registro, nuevamente lo consultamos, luego usamos el método delete() de nuestra sesión:

user = session.query(User).filter(User.name == 'newuser').first()
session.delete(user)
session.commit()

Esa es una visión general de cómo puedes usar SQLAlchemy ORM para realizar operaciones CRUD en una base de datos PostgreSQL. En las siguientes secciones, profundizaremos en el uso de SQLAlchemy ORM, explorando temas como consultas complejas, relaciones entre tablas y gestión de transacciones.