Apache Derby - Eliminar datos
La instrucción DELETE se utiliza para eliminar filas de una tabla. Al igual que la declaración UPDATE, Apache Derby proporciona dos tipos de eliminación (sintaxis):searched eliminar y positioned Eliminar.
La declaración de eliminación buscada elimina todas las columnas especificadas de una tabla.
Sintaxis
La sintaxis de la instrucción DELETE es la siguiente:
ij> DELETE FROM table_name WHERE condition;
Ejemplo
Supongamos que tenemos una tabla llamada empleado con 5 registros como se muestra a continuación:
ID |NAME |SALARY |LOCATION
----------------------------------------------------------------------------
1 |Amit |30000 |Hyderabad
2 |Kalyan |40000 |Vishakhapatnam
3 |Renuka |50000 |Delhi
4 |Archana |15000 |Mumbai
5 |Trupti |45000 |Kochin
5 rows selected
La siguiente declaración SQL DELETE elimina el registro con el nombre Trupti.
ij> DELETE FROM Employees WHERE Name = 'Trupti';
1 row inserted/updated/deleted
Si obtiene el contenido de la tabla Empleados, puede ver solo cuatro registros como se muestra a continuación:
ID |NAME |SALARY |LOCATION
----------------------------------------------------------------------------
1 |Amit |30000 |Hyderabad
2 |Kalyan |40000 |Vishakhapatnam
3 |Renuka |50000 |Delhi
4 |Archana |15000 |Mumbai
4 rows selected
Para eliminar todos los registros de la tabla, ejecute la misma consulta sin la cláusula where.
ij> DELETE FROM Employees;
4 rows inserted/updated/deleted
Ahora, si intenta obtener el contenido de la tabla Empleado, obtendrá una tabla vacía como se indica a continuación:
ij> select * from employees;
ID |NAME |SALARY |LOCATION
--------------------------------------------------------
0 rows selected
Eliminar datos usando el programa JDBC
Esta sección explica cómo eliminar los registros existentes de una tabla en la base de datos Apache Derby usando la aplicación JDBC.
Si desea solicitar el servidor de red Derby mediante un cliente de red, asegúrese de que el servidor esté en funcionamiento. El nombre de clase del controlador del cliente de red es org.apache.derby.jdbc.ClientDriver y la URL es jdbc: derby: // localhost: 1527 /DATABASE_NAME;crear = verdadero; usuario =USER_NAME;passw ord =PASSWORD".
Siga los pasos que se indican a continuación para eliminar los registros existentes de una tabla en Apache Derby: / p>
Paso 1: registre el controlador
En primer lugar, debe registrar el controlador para comunicarse con la base de datos. losforName() método de la clase Classacepta un valor de cadena que representa un nombre de clase, lo carga en la memoria, que lo registra automáticamente. Registre el controlador utilizando este método.
Paso 2: obtén la conexión
En general, el primer paso que hacemos para comunicarnos con la base de datos es conectarnos con ella. losConnectionclase representa la conexión física con un servidor de base de datos. Puede crear un objeto de conexión invocando elgetConnection() método del DriverManagerclase. Cree una conexión con este método.
Paso 3: crea un objeto de declaración
Necesitas crear un Statement o PreparedStatement or, CallableStatementobjetos para enviar sentencias SQL a la base de datos. Puedes crearlos usando los métodoscreateStatement(), prepareStatement() and, prepareCall()respectivamente. Cree cualquiera de estos objetos utilizando el método apropiado.
Paso 4: ejecutar la consulta
Después de crear una declaración, debe ejecutarla. losStatement La clase proporciona varios métodos para ejecutar una consulta como la execute()método para ejecutar una declaración que devuelve más de un conjunto de resultados. losexecuteUpdate()El método ejecuta consultas como INSERT, UPDATE, DELETE. losexecuteQuery()resultados del método que devuelve datos. Utilice cualquiera de estos métodos y ejecute la instrucción creada anteriormente.
Ejemplo
El siguiente ejemplo de JDBC demuestra cómo eliminar los registros existentes de una tabla en Apache Derby utilizando el programa JDBC. Aquí, nos estamos conectando a una base de datos llamada sampleDB (se creará si no existe) usando el controlador integrado.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class DeleteData {
public static void main(String args[]) throws Exception {
//Registering the driver
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
//Getting the Connection object
String URL = "jdbc:derby:sampleDB;create=true";
Connection conn = DriverManager.getConnection(URL);
//Creating the Statement object
Statement stmt = conn.createStatement();
//Creating a table and populating it
String query = "CREATE TABLE Employees("
+ "Id INT NOT NULL GENERATED ALWAYS AS IDENTITY, "
+ "Name VARCHAR(255), Salary INT NOT NULL, "
+ "Location VARCHAR(255), "
+ "PRIMARY KEY (Id))";
String query = "INSERT INTO Employees("
+ "Name, Salary, Location) VALUES "
+ "('Amit', 30000, 'Hyderabad'), "
+ "('Kalyan', 40000, 'Vishakhapatnam'), "
+ "('Renuka', 50000, 'Delhi'), "
+ "('Archana', 15000, 'Mumbai'), "
+ "('Trupthi', 45000, 'Kochin'), "
+ "('Suchatra', 33000, 'Pune'), "
+ "('Rahul', 39000, 'Lucknow'), "
+ "('Trupthi', 45000, 'Kochin')";
//Executing the query
String query = "DELETE FROM Employees WHERE Name = 'Trupthi'";
int num = stmt.executeUpdate(query);
System.out.println("Number of records deleted are: "+num);
}
}
Salida
Al ejecutar el programa anterior, obtendrá el siguiente resultado:
Number of records deleted are: 1