CRUD Completo en Python | Pedro Lara

Código, Libros y Podcast

CRUD Completo en Python | Pedro Lara

No hay comentarios
CREAR UN CRUD EN PYTHON





import sqlite3

# Conectar base de datos o crearla si no existe
def conectar():
conexion = sqlite3.connect('usuarios.db')
cursor = conexion.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS usuarios(
id INTEGER PRIMARY KEY AUTOINCREMENT,
nombre TEXT NOT NULL,
apellido TEXT NOT NULL,
edad INTEGER NOT NULL)
''')
conexion.commit()
return conexion

# Create - Insertar un nuevo usuario
def crear_usuario(conexion, nombre, apellido, edad):
cursor = conexion.cursor()
cursor.execute('''
INSERT INTO usuarios(nombre, apellido, edad)
VALUES(?, ?, ?)
''', (nombre, apellido, edad))
conexion.commit()
print(f'Usuario {nombre} guardado con éxito')

# Read - Leer todos los registros de usuarios
def leer_usuarios(conexion):
cursor = conexion.cursor()
cursor.execute('SELECT * FROM usuarios')
usuarios = cursor.fetchall()
for usuario in usuarios:
print(usuario)

# Update - Actualizar información de un usuario
def actualizar_usuario(conexion, id, nombre, apellido, edad):
cursor = conexion.cursor()
cursor.execute('''
UPDATE usuarios
SET nombre = ?,
apellido = ?,
edad = ?
WHERE id = ?
''', (nombre, apellido, edad, id))
conexion.commit()
print(f'Usuario con id {id} actualizado con éxito')

# Delete - Eliminar un usuario
def eliminar_usuario(conexion, id):
cursor = conexion.cursor()
cursor.execute('DELETE FROM usuarios WHERE id = ?', (id,))
conexion.commit()
print(f'Usuario con id {id} eliminado con éxito')

# Menú para interactuar con el CRUD
def menu():
conexion = conectar()

while True:
print("\n--- Menú CRUD ---")
print("1. Crear usuario")
print("2. Leer usuarios")
print("3. Actualizar usuario")
print("4. Eliminar usuario")
print("5. Salir")

opcion = input("Seleccione una opción: ")

if opcion == '1':
nombre = input("Nombre del usuario: ")
apellido = input("Apellido del usuario: ")
edad = int(input("Edad: "))
crear_usuario(conexion, nombre, apellido, edad)

elif opcion == '2':
leer_usuarios(conexion)

elif opcion == '3':
id = int(input("ID del usuario: "))
nombre = input("Nuevo nombre del usuario: ")
apellido = input("Nuevo apellido del usuario: ")
edad = int(input("Nueva edad: "))
actualizar_usuario(conexion, id, nombre, apellido, edad)

elif opcion == '4':
id = int(input("ID del usuario: "))
eliminar_usuario(conexion, id)

elif opcion == '5':
conexion.close()
break

else:
print("Opción no válida. Intente nuevamente")

if __name__ == "__main__":
menu()

No hay comentarios :

Publicar un comentario