Durante los próximos ejercicios vamos a trabajar Bases de datos en mySql, dando en el boton de descarga de este primer ejercicio bajais un archivo que contiene los script para crear dos tablas clientes y ventas asi como para cargar estas tablas con campos ficticios a la base de datos la llame empresa, hay que agregar tambien el conector mysql al paquete java para que funcione
Desarrolla un programa en Java que se conecte a la base de datos "empresa" en MySQL y recupere los datos de la tabla "clientes". El programa debe mostrar en la consola la lista de clientes con todos sus campos, incluyendo el código de cliente, nombre, apellido, email y teléfono. El programa debe utilizar JDBC para establecer la conexión con la base de datos y realizar la consulta SQL necesaria para recuperar los datos de la tabla "clientes". Luego, debe procesar los resultados de la consulta y mostrar la información de cada cliente en la consola de manera legible. Asegúrate de manejar adecuadamente cualquier excepción que pueda ocurrir durante la conexión a la base de datos o la ejecución de la consulta SQL, proporcionando mensajes de error informativos al usuario en caso de que algo salga mal.
Desarrolla un programa en Java que se conecte a la base de datos "empresa" en MySQL y recupere los datos de la tabla "ventas". El programa debe mostrar en la consola la lista de ventas con todos sus campos, incluyendo el código de venta, código de cliente, fecha y total de la venta. El programa debe utilizar JDBC para establecer la conexión con la base de datos y realizar la consulta SQL necesaria para recuperar los datos de la tabla "ventas". Luego, debe procesar los resultados de la consulta y mostrar la información de cada venta en la consola de manera legible. Asegúrate de manejar adecuadamente cualquier excepción que pueda ocurrir durante la conexión a la base de datos o la ejecución de la consulta SQL, proporcionando mensajes de error informativos al usuario en caso de que algo salga mal.
Desarrolla un programa en Java que permita a un usuario agregar un nuevo cliente a la base de datos "empresa" en MySQL. El programa debe solicitar al usuario que ingrese los datos del nuevo cliente, como el nombre, apellido, email, teléfono y dirección. Luego, debe conectar con la base de datos y agregar el nuevo cliente a la tabla "clientes". Después de agregar el cliente, el programa debe mostrar un mensaje indicando que el cliente ha sido agregado con éxito. El programa debe utilizar JDBC para establecer la conexión con la base de datos y ejecutar una consulta SQL de inserción para agregar el nuevo cliente. Asegúrate de manejar adecuadamente cualquier excepción que pueda ocurrir durante la conexión a la base de datos o la ejecución de la consulta SQL, proporcionando mensajes de error informativos al usuario en caso de que algo salga mal.
Desarrolla un programa en Java que permita eliminar clientes de la base de datos "empresa" en MySQL según un criterio específico. Eliminar clientes por apellido: El programa debe solicitar al usuario ingresar un apellido específico. Luego, debe conectar con la base de datos y eliminar todos los clientes que tengan ese apellido de la tabla "clientes". Después de eliminar los clientes, el programa debe mostrar un mensaje indicando la cantidad de clientes eliminados.
Desarrolla un programa en Java que permita eliminar clientes de la base de datos "empresa" en MySQL según un criterio específico. Eliminar clientes por apellido: El programa debe solicitar al usuario ingresar un apellido específico. Luego, debe conectar con la base de datos y eliminar todos los clientes que tengan ese apellido de la tabla "clientes". Después de eliminar los clientes, el programa debe mostrar un mensaje indicando la cantidad de clientes eliminados.
Desarrolla un programa en Java que permita actualizar el total de las ventas en la tabla "ventas" de la base de datos "empresa" en MySQL. El programa debe solicitar al usuario ingresar un apellido específico. Luego, debe conectar con la base de datos y buscar todos los clientes que tengan ese apellido en la tabla "clientes". Posteriormente, debe calcular un descuento del 10% sobre el total de las ventas para cada cliente encontrado y actualizar el campo "total" en la tabla "ventas" con el nuevo valor. Después de actualizar los totales, el programa debe mostrar un mensaje indicando la cantidad de ventas actualizadas. El programa debe utilizar JDBC para establecer la conexión con la base de datos y ejecutar consultas SQL para buscar los clientes y actualizar los totales de ventas. Asegúrate de manejar adecuadamente cualquier excepción que pueda ocurrir durante la conexión a la base de datos o la ejecución de las consultas SQL, proporcionando mensajes de error informativos al usuario en caso de que algo salga mal.
Desarrolla un programa en Java que permita consultar las ventas realizadas por un cliente específico en la base de datos "empresa" en MySQL. El programa debe solicitar al usuario ingresar el correo electrónico del cliente. Luego, debe conectar con la base de datos y buscar el cliente con ese correo electrónico en la tabla "clientes". Posteriormente, debe mostrar todas las ventas realizadas por ese cliente, incluyendo el id de la venta, la fecha de la venta y el total de la venta. Si el cliente no tiene ventas registradas, el programa debe mostrar un mensaje indicando que el cliente no tiene ventas. El programa debe utilizar JDBC para establecer la conexión con la base de datos y ejecutar consultas SQL para buscar el cliente y sus ventas. Asegúrate de manejar adecuadamente cualquier excepción que pueda ocurrir durante la conexión a la base de datos o la ejecución de las consultas SQL, proporcionando mensajes de error informativos al usuario en caso de que algo salga mal.
Desarrolla un programa en Java que genere un reporte de ventas para un período de tiempo específico. El programa debe solicitar al usuario ingresar dos fechas: la fecha de inicio y la fecha de fin del período de tiempo para el cual se desea generar el reporte. Luego, debe conectar con la base de datos "empresa" en MySQL y buscar todas las ventas realizadas dentro de ese período de tiempo en la tabla "ventas". Posteriormente, debe mostrar en la consola un resumen de las ventas, incluyendo el número de ventas realizadas, el total de ventas en ese período y la fecha de cada venta. El programa debe utilizar JDBC para establecer la conexión con la base de datos y ejecutar una consulta SQL para recuperar las ventas dentro del período especificado. Asegúrate de manejar adecuadamente cualquier excepción que pueda ocurrir durante la conexión a la base de datos o la ejecución de la consulta SQL, proporcionando mensajes de error informativos al usuario en caso de que algo salga mal.
Desarrolla un programa en Java que permita actualizar los datos de una venta en la tabla "ventas" de la base de datos "empresa" en MySQL. El programa debe solicitar al usuario que ingrese el ID de la venta que desea actualizar y los nuevos datos para dicha venta, como la fecha de venta y el total. Luego, debe conectar con la base de datos y actualizar la venta correspondiente en la tabla "ventas". Después de actualizar la venta, el programa debe mostrar un mensaje indicando que la venta ha sido actualizada con éxito.
Desarrolla un programa en Java que permita consultar clientes junto con sus ventas realizadas en la base de datos "empresa" en MySQL. El programa debe solicitar al usuario ingresar el ID de un cliente específico. Luego, debe conectar con la base de datos y buscar todas las ventas realizadas por ese cliente en la tabla "ventas", así como también mostrar los datos del cliente de la tabla "clientes". Posteriormente, debe mostrar en la consola un resumen de las ventas del cliente, incluyendo el número de ventas realizadas, el total de ventas y la fecha de cada venta.
Desarrolla un programa en Java que permita actualizar los datos de un cliente en la tabla "clientes" de la base de datos "empresa" en MySQL. El programa debe solicitar al usuario que ingrese el ID del cliente que desea actualizar y los nuevos datos para dicho cliente, como el nombre, el apellido, el correo electrónico, el teléfono y la dirección. Luego, debe conectar con la base de datos y actualizar los datos correspondientes del cliente en la tabla "clientes". Después de actualizar los datos, el programa debe mostrar un mensaje indicando que los datos del cliente han sido actualizados con éxito.
Desarrolla un programa en Java que permita eliminar un cliente de la tabla "clientes" en la base de datos "empresa" en MySQL. El programa debe solicitar al usuario que ingrese el ID del cliente que desea eliminar. Luego, debe conectar con la base de datos y buscar si el cliente existe en la tabla "clientes". Si el cliente existe, se debe eliminar de la tabla y mostrar un mensaje indicando que el cliente ha sido eliminado con éxito. Si el cliente no existe, se debe mostrar un mensaje indicando que el cliente no se encontró en la base de datos.
Desarrolla un programa en Java que permita insertar una nueva venta en la tabla "ventas" de la base de datos "empresa" en MySQL. El programa debe solicitar al usuario que ingrese los datos de la nueva venta, incluyendo el ID del cliente, la fecha de la venta y el total. Luego, debe conectar con la base de datos y realizar la inserción de la nueva venta en la tabla "ventas". Después de insertar la venta, el programa debe mostrar un mensaje indicando que la venta ha sido agregada con éxito.
Suma los subtotales
Desarrolla un programa en Java que permita calcular el total de ventas realizadas en un mes específico por todos los clientes en la tabla "ventas" de la base de datos "empresa" en MySQL. El programa debe solicitar al usuario que ingrese el mes y el año para el cual desea calcular el total de ventas. Luego, debe conectar con la base de datos y calcular la suma total de todas las ventas realizadas en ese mes y año. Finalmente, el programa debe mostrar el resultado al usuario.
Durante los próximos ejercicios vamos a trabajar Bases de datos en mySql, dando en el boton de descarga de este primer ejercicio bajais un archivo que contiene los script para crear la BBDD vivero y para cargar esta BBDD con campos ficticios a la base de datos la llame vivero, hay que agregar tambien el conector mysql al paquete java para que funcione
Crea un programa en Java que se conecte a la base de datos "vivero" usando JDBC. Una vez establecida la conexión, realiza una consulta SQL para obtener todas las filas de la tabla "plantas". El programa debe mostrar por consola, para cada planta, los siguientes datos: - id - nombre - variedad - precio - stock Los resultados deben recorrerse utilizando un ResultSet y mostrarse fila por fila en consola. Ejemplo de salida esperada: 1 - Manzano - Golden - 15.50€ - stock: 40 2 - Manzano - Fuji - 16.00€ - stock: 25 3 - Peral - Conference - 18.20€ - stock: 30 Al finalizar, el programa debe cerrar la conexión con la base de datos.
Crea un programa en Java que se conecte a la base de datos "vivero" usando JDBC. Realiza una consulta SQL que obtenga todas las plantas cuyo stock sea menor a 20. El programa debe mostrar por consola los siguientes datos: - nombre - variedad - stock Formato de salida esperado: Limonero - Eureka - stock: 15 Melocotonero - Rojo de Calanda - stock: 10 Recorre los resultados usando un ResultSet. Al finalizar, cierra el ResultSet, el Statement y la conexión.
Crea un programa en Java que se conecte a la base de datos "vivero" usando JDBC. Realiza una consulta SQL que obtenga todas las plantas ordenadas por precio de mayor a menor. El programa debe mostrar por consola los siguientes datos: - nombre - variedad - precio Formato de salida esperado: Naranjo - Valencia - 22.50€ Melocotonero - Rojo de Calanda - 19.90€ Peral - Conference - 18.20€ Recorre los resultados usando un ResultSet. Al finalizar, cierra el ResultSet, el Statement y la conexión.
Crea un programa en Java que se conecte a la base de datos "vivero" usando JDBC. Realiza una consulta SQL que obtenga todas las plantas junto con el nombre de su categoría. Para ello debes usar un JOIN entre la tabla plantas y la tabla categorias. El programa debe mostrar por consola: - nombre de la planta - variedad - nombre de la categoría - precio Formato esperado: Manzano - Golden - Manzanos - 15.50€ Naranjo - Valencia - Cítricos - 22.50€ Recorre los resultados usando un ResultSet. Al finalizar, cierra el ResultSet, el Statement y la conexión.
Crea un programa en Java que se conecte a la base de datos vivero usando JDBC. Realiza una consulta SQL que obtenga todas las plantas cuyo precio sea mayor a 20 euros. El programa debe mostrar por consola los siguientes datos: nombre variedad precio Formato de salida esperado: Naranjo - Valencia - 22.50€ Limonero - Eureka - 24.00€ Condiciones: Debes usar un Statement. Utiliza una consulta con WHERE precio > 20. Recorre los resultados usando un ResultSet. Al finalizar, cierra: ResultSet Statement Connection.
Crea un programa en Java que se conecte a la base de datos vivero usando JDBC. Debes realizar una consulta SQL que obtenga todas las plantas que pertenecen a la categoría "Cítricos". Para ello tendrás que usar un JOIN entre las tablas: plantas categorias La consulta debe mostrar: nombre de la planta variedad nombre de la categoría precio Los resultados deben aparecer ordenados por precio de mayor a menor. Formato de salida esperado: Naranjo - Valencia - Cítricos - 22.50€ Limonero - Eureka - Cítricos - 21.00€ Mandarino - Clementina - Cítricos - 19.80€ Condiciones: Usa Statement. Usa INNER JOIN. Usa WHERE para filtrar la categoría "Cítricos". Usa ORDER BY precio DESC. Recorre los resultados con ResultSet. Cierra al final: ResultSet Statement Connection.
Crea un programa en Java que se conecte a la base de datos "vivero" usando JDBC. El programa debe ejecutar dos consultas SQL diferentes: 1️⃣ Contar cuántos tipos de plantas existen en la tabla "plantas". Para ello debes usar la función SQL: COUNT(*) El programa debe mostrar algo como: Número total de tipos de plantas: 12 2️⃣ Calcular el número total de unidades disponibles en stock. Para ello debes usar la función SQL: SUM(stock) El programa debe mostrar algo como: Número total de plantas en stock: 145 Condiciones: - Usa Statement para ejecutar las consultas. - Ejecuta las consultas con executeQuery(). - Usa ResultSet para obtener los resultados. - Recuerda que las funciones agregadas devuelven una sola fila. - Cierra el ResultSet antes de ejecutar una nueva consulta. - Cierra al final: ResultSet Statement Connection
Ejercicio JDBC – Agrupar resultados (GROUP BY) Crea un programa en Java que se conecte a la base de datos "vivero" usando JDBC. Debes realizar una consulta SQL que muestre cuántas plantas hay en cada categoría. Para ello tendrás que usar un JOIN entre las tablas: plantas categorias La consulta debe mostrar: nombre de la categoría número total de plantas que hay en esa categoría Los resultados deben aparecer ordenados por el número de plantas de mayor a menor. Formato de salida esperado: Cítricos -> 5 plantas Frutales -> 4 plantas Coníferas -> 2 plantas Condiciones: Usa Statement. Usa INNER JOIN entre plantas y categorias. Usa COUNT(*) para contar las plantas. Usa GROUP BY para agrupar por categoría. Usa ORDER BY para ordenar de mayor a menor. Recorre los resultados con ResultSet. Cierra al final: ResultSet Statement Connection.
Crea un programa en Java que se conecte a la base de datos vivero usando JDBC. El programa debe: Insertar un nuevo registro en la tabla plantas con los siguientes datos: nombre: "Ciruelo" variedad: "Autumn Pride" precio: 17.50 stock: 15 categoria_id: 2 (asegúrate de que esa categoría existe en tu tabla categorias) Mostrar por consola cuántas filas fueron afectadas por el INSERT. Al finalizar, cerrar Statement y Connection.
Crea un programa en Java que se conecte a la base de datos vivero usando JDBC. El programa debe: Insertar tres nuevas plantas en la tabla plantas usando PreparedStatement y batch. Los datos de las plantas son: nombre variedad precio stock categoria_id Manzano Fuji 18.00 10 1 Naranjo Navel 20.50 12 2 Limonero Eureka 15.75 8 2 Ejecutar el batch y mostrar por consola cuántas filas se insertaron en total. Al finalizar, cerrar PreparedStatement y Connection. Condiciones: Usa PreparedStatement con parámetros (?). Usa addBatch() y executeBatch(). Mostrar el total de filas afectadas. Formato de salida esperado: Se han insertado 3 plantas correctamente.
Crea un programa en Java que se conecte a la base de datos vivero usando JDBC. El programa debe insertar una nueva planta en la tabla plantas utilizando PreparedStatement. Datos a insertar nombre variedad precio stock categoria_id Peral Conferencia 19.95 6 1 Requisitos Conectarse a la base de datos vivero. Crear una sentencia INSERT con parámetros ?. Usar PreparedStatement. Ejecutar la sentencia con executeUpdate(). Guardar el número de filas afectadas en una variable. Mostrar un mensaje por consola según el resultado. Salida esperada Si se insertó correctamente: Planta insertada correctamente. Si no se insertó ninguna fila: No se ha insertado ninguna planta.
Crea un programa en Java que se conecte a la base de datos vivero usando JDBC. El programa debe insertar una nueva planta en la tabla plantas, pero con estas condiciones: Datos base para insertar: nombre variedad precio stock categoria_id Ciruelo Stanley 12.75 8 3 Requisitos: Conectarse a la base de datos vivero. Antes de insertar, comprobar si ya existe una planta con el mismo nombre y variedad. Si existe, sumar al stock existente en lugar de insertar un nuevo registro. Si no existe, insertar como nuevo registro. Usar PreparedStatement para todas las consultas. Mostrar un mensaje indicando si se ha insertado un nuevo registro o si se ha actualizado el stock existente.
Crea un programa en Java que: 1️⃣ Se conecte a la base de datos vivero. 2️⃣ Pida por consola los datos de una nueva planta: nombre variedad precio stock categoría (nombre) 3️⃣ Antes de insertar: Comprobar si la categoría existe en la tabla categorias. Si no existe, insertarla automáticamente y usar su id. Si existe, obtener su id. 4️⃣ Insertar la planta en la tabla plantas usando PreparedStatement. 5️⃣ Mostrar por consola: Planta "Golden Apple" insertada correctamente en la categoría "Frutales". 6️⃣ Usar transacciones: Si falla cualquier paso, hacer rollback. Si todo va bien, commit.
Crea un programa en Java usando JDBC que se conecte a la base de datos vivero. El programa debe: 1️⃣ Conectarse a la base de datos vivero en MySQL. 2️⃣ No debe pedir datos al usuario. 3️⃣ Ejecutar una consulta SELECT que obtenga las 5 plantas más baratas del vivero. 4️⃣ La consulta debe: Usar JOIN entre plantas y categorias Ordenar los resultados por precio de menor a mayor usando ORDER BY Limitar los resultados a 5 registros usando LIMIT 5️⃣ Mostrar los resultados con el siguiente formato: Nombre: Manzano Variedad: Golden Precio: 12.50 Stock: 8 Categoría: Frutales ---------------------- 6️⃣ Si no existen plantas en la base de datos, mostrar: No hay plantas registradas en el vivero. 7️⃣ Recorrer los resultados usando ResultSet.
Crea un programa en Java usando JDBC que se conecte a la base de datos vivero. El programa debe: 1️⃣ Conectarse a la base de datos vivero en MySQL. 2️⃣ Pedir por consola el nombre de una categoría (por ejemplo: Frutales, Cítricos, etc.). 3️⃣ Ejecutar una consulta SELECT que obtenga todas las plantas pertenecientes a esa categoría. 4️⃣ La consulta debe usar JOIN entre las tablas plantas y categorias. 5️⃣ Mostrar por consola los resultados con el siguiente formato: Nombre: Manzano Variedad: Golden Precio: 15.50 Stock: 10 Categoría: Frutales ---------------------- 6️⃣ Si no existen plantas en esa categoría, mostrar: No hay plantas en esta categoría. 7️⃣ Usar PreparedStatement para pasar el nombre de la categoría como parámetro en la consulta.
Crea un programa en Java usando JDBC que se conecte a la base de datos vivero. El programa debe: 1️⃣ Conectarse a la base de datos vivero en MySQL. 2️⃣ No debe pedir datos al usuario. 3️⃣ Ejecutar una consulta SELECT que obtenga, para cada categoría: - El nombre de la categoría. - El número total de plantas disponibles en esa categoría (stock > 0). - El precio medio de las plantas en esa categoría. 4️⃣ La consulta debe usar: - JOIN entre plantas y categorias. - WHERE para filtrar solo las plantas con stock > 0. - GROUP BY para agrupar por categoría. - HAVING para mostrar solo las categorías que tengan al menos 2 plantas disponibles. 5️⃣ Mostrar los resultados con el siguiente formato: Categoría: Frutales Número de plantas disponibles: 5 Precio medio: 17.45€ ---------------------- Categoría: Cítricos Número de plantas disponibles: 3 Precio medio: 18.30€ ---------------------- 6️⃣ Si no existen categorías que cumplan estas condiciones, mostrar: No hay categorías con suficientes plantas disponibles. 7️⃣ Recorrer los resultados usando ResultSet.
Crea un programa en Java usando JDBC que se conecte a la base de datos vivero. El programa debe: 1️⃣ Conectarse a la base de datos vivero en MySQL. 2️⃣ Pedir por consola dos valores: precio mínimo precio máximo 3️⃣ Ejecutar una consulta SELECT que obtenga todas las plantas cuyo precio esté entre esos dos valores. 4️⃣ La consulta debe usar JOIN entre las tablas plantas y categorias para mostrar también la categoría de cada planta. 5️⃣ Mostrar los resultados con el siguiente formato: Nombre: Peral Variedad: Conferencia Precio: 19.95 Stock: 6 Categoría: Frutales ---------------------- 6️⃣ Si no existen plantas dentro de ese rango de precios, mostrar: No hay plantas en ese rango de precios. 7️⃣ Usar PreparedStatement para pasar los dos valores del rango de precio a la consulta SQL.
Crea un programa en Java usando JDBC que se conecte a la base de datos vivero. El programa debe: 1️⃣ Conectarse a la base de datos vivero en MySQL. 2️⃣ Pedir por consola el nombre de una categoría. 3️⃣ Ejecutar una consulta SELECT que obtenga las plantas de esa categoría que tengan stock mayor que 0. 4️⃣ La consulta debe usar: JOIN entre plantas y categorias WHERE para filtrar por nombre de categoría AND para exigir stock > 0 ORDER BY para ordenar por precio de mayor a menor 5️⃣ La consulta debe mostrar solo las 10 plantas más caras de esa categoría usando LIMIT. 6️⃣ Mostrar los resultados con el siguiente formato: Nombre: Naranjo Variedad: Valencia Precio: 18.50 Stock: 12 Categoría: Cítricos ---------------------- 7️⃣ Si no existen plantas que cumplan esas condiciones, mostrar: No hay plantas disponibles en esa categoría. 8️⃣ Usar PreparedStatement para pasar el nombre de la categoría como parámetro.
Crea un programa en Java que: 1️⃣ Se conecte a la base de datos vivero. 2️⃣ Pida por consola los datos de un nuevo cliente: nombre, email, telefono, ciudad 3️⃣ Inserte el cliente en la tabla clientes usando PreparedStatement. 4️⃣ Muestre por consola: Cliente "Juan Pérez" insertado correctamente. 5️⃣ Controlar errores con try-catch. 6️⃣ Cerrar todos los recursos correctamente.
Crea un programa en Java que: 1️⃣ Se conecte a la base de datos vivero. 2️⃣ Solicite al usuario seleccionar un cliente existente por su ID o buscarlo por nombre. 3️⃣ Inserte un nuevo pedido en la tabla pedidos, incluyendo la fecha actual y el cliente_id. 4️⃣ Inserte uno o varios productos en la tabla detalle_pedido asociados al pedido_id generado automáticamente. Para cada producto se pedirá: producto_id (o nombre del producto) cantidad 5️⃣ Use transacciones: Si falla algún paso (cliente no existe, producto no válido, error en la inserción) se hará rollback. Si todo va bien, se hace commit. 6️⃣ Mostrar por consola un resumen del pedido insertado, incluyendo el nombre del cliente y los productos agregados. 7️⃣ Controlar errores con try-catch y cerrar todos los recursos correctamente (Connection, PreparedStatement, ResultSet).
Crea un programa en Java que realice lo siguiente: 1️⃣ Se conecte a la base de datos vivero. 2️⃣ Desactive el autoCommit para trabajar con transacciones. 3️⃣ Inserte un nuevo cliente en la tabla clientes con los siguientes datos: nombre teléfono email ciudad 4️⃣ Obtenga el id generado automáticamente del cliente insertado. 5️⃣ Inserte un nuevo pedido en la tabla pedidos usando: la fecha actual el cliente_id obtenido en el paso anterior 6️⃣ Use transacciones: Si todo se inserta correctamente → hacer commit Si ocurre cualquier error en cualquiera de los inserts → hacer rollback 7️⃣ Mostrar por consola: ID del cliente creado ID del pedido creado Mensaje final de éxito o error 8️⃣ Cerrar correctamente todos los recursos.
Crea un programa en Java que: 1️⃣ Se conecte a la base de datos vivero. 2️⃣ Pida al usuario: ID de un cliente ID de una planta Cantidad a comprar 3️⃣ Realice todo dentro de una transacción: Insertar un nuevo registro en la tabla pedido con: fecha actual id del cliente Insertar un registro en detalle_pedido con: id del pedido creado id de la planta cantidad Restar la cantidad al stock de la planta en la tabla plantas. 4️⃣ Condición importante: Si el stock queda negativo, hacer rollback y cancelar todo. Si todo es correcto, hacer commit. 5️⃣ Desactivar el autocommit para controlar la transacción manualmente. 🎯 Objetivo Manejar varias operaciones en una sola transacción Usar setAutoCommit(false) Aplicar commit() y rollback() correctamente
Crea un programa en Java que: 1️⃣ Se conecte a la base de datos vivero. 2️⃣ Pida al usuario: - Nombre de un nuevo cliente - Teléfono - Email - Ciudad 3️⃣ Realice todo dentro de una transacción: - Desactivar autocommit (setAutoCommit(false)) - Comprobar mediante SELECT si ya existe un cliente con ese email - Si existe → rollback y cancelar operación - Insertar un nuevo cliente en la tabla clientes con los datos introducidos 4️⃣ Si todo es correcto → commit 5️⃣ Si ocurre cualquier error → rollback
Crea un programa en Java que realice lo siguiente: 1️⃣ Conectarse a la base de datos vivero. 2️⃣ Pedir por consola: ID de un cliente existente Nuevo teléfono 3️⃣ Actualizar en la tabla clientes: El campo telefono del cliente con ese ID 4️⃣ Usar una consulta UPDATE con PreparedStatement. 5️⃣ Mostrar por consola: Número de filas afectadas Mensaje de éxito o error 6️⃣ Cerrar correctamente todos los recursos y manejar excepciones.
Crea un programa en Java que haga lo siguiente: 1️⃣ Conectarse a la base de datos vivero. 2️⃣ Pedir por consola: ID de un cliente Nueva ciudad 3️⃣ Actualizar en la tabla clientes: El campo ciudad del cliente con ese ID 4️⃣ Usar PreparedStatement con UPDATE. 5️⃣ Mostrar por consola: Número de filas afectadas Mensaje: Si no existe el cliente → avisar Si se actualiza → confirmar cambio 6️⃣ Validar que la ciudad: No esté vacía 7️⃣ Cerrar correctamente recursos y manejar excepciones.
Crea un programa en Java que haga lo siguiente: 1️⃣ Conectarse a la base de datos vivero. 2️⃣ Mostrar un pequeño menú por consola: 1 → Actualizar teléfono 2 → Actualizar ciudad 3️⃣ Pedir: ID del cliente Según la opción elegida: nuevo teléfono o nueva ciudad 4️⃣ Validar: Teléfono → 9 dígitos numéricos Ciudad → no vacía 5️⃣ Ejecutar un UPDATE con PreparedStatement: Solo actualizar el campo elegido 6️⃣ Mostrar por consola: Si no existe el cliente → avisar Si se actualiza → mostrar filas afectadas y mensaje de éxito 7️⃣ Cerrar recursos correctamente.
1) Conectarse a la base de datos "vivero" 2) Pedir al usuario por consola: - ID de la planta - Nuevo precio - Nuevo stock 3) Validar: - Precio → debe ser mayor que 0 - Stock → debe ser 0 o mayor 4) Comprobar con un SELECT si la planta existe: - Si NO existe: "La planta no existe" y terminar el programa - Si SÍ existe: continuar 5) Ejecutar un UPDATE con PreparedStatement: UPDATE plantas SET precio = ?, stock = ? WHERE id = ? 6) Mostrar por consola: - "Planta actualizada correctamente" - "Filas afectadas: X" 7) Cerrar todos los recursos correctamente
1) Conectarse a la base de datos "vivero" 2) Pedir al usuario por consola: - ID del pedido - Nueva fecha del pedido (YYYY-MM-DD) - Nueva cantidad total del pedido 3) Validar: - Fecha → no puede estar vacía - Cantidad → debe ser mayor que 0 4) Comprobar si el pedido existe: SELECT 1 FROM pedidos WHERE id=? - Si NO existe: "El pedido no existe" terminar programa 5) Ejecutar UPDATE con PreparedStatement: UPDATE pedidos SET fecha = ?, total = ? WHERE id = ? 6) Mostrar por consola: - "Pedido actualizado correctamente" - "Filas afectadas: X" 7) Cerrar todos los recursos correctamente
Crea un programa en Java que haga lo siguiente: 1️⃣ Se conecte a la base de datos vivero. 2️⃣ Pida al usuario por consola: ID de la categoría a eliminar 3️⃣ Ejecute un DELETE sobre la tabla categorias: Eliminar la categoría cuyo id_categoria coincida 4️⃣ Muestre por pantalla: "Categoría eliminada correctamente" → si se ha borrado alguna fila "No existe una categoría con ese ID" → si no se ha borrado ninguna 🔧 Condiciones Usa PreparedStatement Usa executeUpdate() No hace falta validar nada más (ni comprobar antes con SELECT)
Crea un programa en Java que haga lo siguiente: 1️⃣ Conectarse a la base de datos "vivero". 2️⃣ Pedir al usuario por consola: - ID de la categoría a eliminar 3️⃣ Comprobar si existen plantas asociadas a esa categoría: - Ejecutar un SELECT en la tabla "plantas" usando "categoria_id" - Si existen plantas → mostrar: "No se puede eliminar la categoría porque tiene plantas asociadas" - Si no existen → continuar 4️⃣ Ejecutar un DELETE en la tabla "categorias" para eliminar la categoría cuyo id coincida 5️⃣ Mostrar por pantalla: - "Categoría eliminada correctamente" → si se borró alguna fila - "No existe una categoría con ese ID" → si no se borró ninguna 🔧 Condiciones: - Usar PreparedStatement - Usar executeQuery() para la comprobación - Usar executeUpdate() para el DELETE - Validar que el ID introducido sea un número entero positivo
Perfecto, siguiente paso 👇 subimos un poco más pero sin meternos aún en transacciones. 🟠 Ejercicio JDBC — DELETE con confirmación + datos previos Crea un programa en Java que haga lo siguiente: 1️⃣ Conectarse a la base de datos "vivero". 2️⃣ Pedir al usuario por consola: - ID de la planta a eliminar 3️⃣ Comprobar si la planta existe: - Hacer un SELECT en la tabla "plantas" - Si no existe → mostrar: "No existe una planta con ese ID" y terminar el programa 4️⃣ Si existe, mostrar sus datos: - nombre - precio - stock 5️⃣ Pedir confirmación al usuario: - "¿Seguro que quieres eliminar esta planta? (s/n)" 6️⃣ Si el usuario responde "s": - Ejecutar un DELETE en la tabla "plantas" 7️⃣ Mostrar por pantalla: - "Planta eliminada correctamente" → si se borró - "Operación cancelada" → si el usuario dijo que no
Ejercicio: Gestión de eliminación de plantas y pedidos asociados en la base de datos vivero. Conéctate a la base de datos vivero con usuario root y contraseña *prueba2024*. Desactiva el autoCommit para controlar manualmente las transacciones. Solicita al usuario el ID de la planta que desea eliminar. Comprueba si la planta existe en la tabla plantas. Si no existe, muestra un mensaje y finaliza el programa. Comprueba si la planta está asociada a algún pedido en la tabla detalle_pedido. Si no hay detalles asociados, borra directamente la planta. Si hay detalles asociados: Muestra un mensaje indicando que la planta está asociada a pedidos. Pregunta al usuario si desea eliminar también los pedidos asociados que solo contengan esa planta. Si el usuario responde que no, cancela la operación. Si el usuario confirma: Borra de detalle_pedido todos los registros asociados a la planta. Borra los pedidos completos que solo contengan esa planta. Borra finalmente la planta de la tabla plantas. Confirma la transacción (commit). En caso de cualquier error durante el proceso, realiza un rollback para deshacer todos los cambios. Cierra correctamente la conexión con la base de datos. Cada método que puede producir un error (SQLException) lanza la excepción, dejando que la transacción y el manejo de errores se gestionen desde main. Notas adicionales: Se deben usar métodos auxiliares para: Comprobar la existencia de la planta (comprobarPlanta). Comprobar si hay detalles asociados (comprobarDetalle). Borrar detalles y pedidos asociados (borrarDetalle, borroPedido). Borrar la planta (borrarPlanta). Se debe validar la entrada del usuario, asegurándose de que el ID sea un número entero mayor que 0. Se debe mantener interacción con el usuario mediante mensajes claros en consola.
Crea un programa en Java con JDBC que haga lo siguiente: 1️⃣ Conectarse a la base de datos vivero. 2️⃣ Desactivar el autocommit de la conexión para poder controlar la transacción manualmente. 3️⃣ Pedir al usuario por consola: Cuántos pedidos desea eliminar. 4️⃣ Para cada pedido pedir: ID del pedido a eliminar 5️⃣ Antes de añadir el borrado al lote (batch): Validar que el ID sea mayor que 0. 6️⃣ Preparar una sentencia SQL: DELETE FROM pedidos WHERE id = ? 7️⃣ Usar PreparedStatement y añadir cada eliminación al batch con: addBatch() 8️⃣ Ejecutar todas las eliminaciones juntas usando: executeBatch() 9️⃣ Mostrar por pantalla: Cuántos pedidos fueron eliminados. 10️⃣ Después de ejecutar el batch preguntar al usuario: ¿Desea confirmar los cambios? (S/N) Si responde S → hacer commit() Si responde N → hacer rollback() 11️⃣ Si ocurre cualquier error durante el proceso: Capturar la excepción Hacer rollback() Mostrar un mensaje indicando que la operación fue cancelada. 12️⃣ Cerrar correctamente: ResultSet (si se usa) PreparedStatement Connection