Saltar la navegación

4.6. Eliminación de datos

La sentencia DELETE nos servirá para eliminar registros de nuestra base de datos, ya sea porque no queremos que estén o porque ya no los necesitemos. La sentencia se realizaría siguiendo esta estructura:

//Para borrar datos a la bbdd
DELETE FROM nombre_tabla WHERE nombre_columna =valor;

Cuando realizamos un DELETE, siempre tenemos que poner un WHERE para poder filtrar mejor los datos que queremos borrar de la tabla, si no es así, se borrarán todos los registros.

También tenemos la posibilidad de realizar la eliminación de los dos modos explicados anteriormente. Un ejemplo:

PreparedStatement sentencia = null;
try {
    // Paso 1. Previamente habremos realizado la conexion
    conn = conector.conector();
    System.out.println("Nos hemos conectado a la BBDD");
    // Paso 2. Crear estructura de la sentencia, ponemos interrogantes a los datos que serán dinámicos
    String consulta = "DELETE FROM estudiante WHERE dni =?"
    // Paso 3. Pasamos la consulta al objeto PreparedStatement
    sentencia = conn.prepareStatement(consulta);
    // Paso 4. Asignamos los valores del objeto que queramos guardar
    // Imaginemos que el objeto estudiante esta ya declarado y con datos.
    Estudiante estudiante = new Estudiante();
    sentencia.setString(1, estudiante.getDni());
    // Paso 5. Ejecucion
    sentencia.execute();
} catch (SQLException e) {
    System.out.println(e.getCause());
}catch (Exception e) {
    System.out.println(e.getCause());
} finally {
    // Paso 6. cerramos la conexión y el objeto en uso
    try {
        sentencia.close();
    } catch (SQLException e) {
        e.printStackTrace();
    }
}

Este ejemplo es una implementación de un DELETE con una sentencia dinámica. El objetivo es borrar los registros de la tabla "Estudiante" que tenga como DNI el valor que contenga el estudiante.getDni(). El valor será dinámico porque cada objeto "Estudiante" tendrá un valor distinto.