Apache Derby - Actualizar datos

La instrucción UPDATE se usa para actualizar datos en una tabla. Apache Derby proporciona dos tipos de actualizaciones (sintaxis) a sabersearched actualizar y positioned actualizar.

La instrucción UPDATE buscada actualiza todas las columnas especificadas de una tabla.

Sintaxis

A continuación se muestra la sintaxis de la consulta UPDATE:

ij> UPDATE table_name
 SET column_name = value, column_name = value, ...
 WHERE conditions;

La cláusula WHERE puede utilizar los operadores de comparación como =,! =, <,>, <= Y> =, así como los operadores BETWEEN y LIKE.

Ejemplo

Suponga que tiene una tabla Empleado en la base de datos con los 4 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

La siguiente declaración SQL UPDATE actualiza la ubicación y el salario de un empleado cuyo nombre es Kaylan.

ij> UPDATE Employees SET Location = 'Chennai', Salary = 43000 WHERE Name =
'Kalyan';
1 rows inserted/updated/deleted

Si obtiene el contenido de la tabla Empleados, puede observar los cambios realizados por la consulta ACTUALIZAR.

ij> select * from Employees;
ID |NAME |SALARY |LOCATION
----------------------------------------------------------
1 |Amit |30000 |Hyderabad 
2 |Kalyan |43000 |Chennai
3 |Renuka |50000 |Delhi
4 |Archana |15000 |Mumbai
4 rows selected

Actualizar datos usando el programa JDBC

Esta sección explica cómo actualizar los registros existentes de una tabla en la base de datos Apache Derby utilizando 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; contraseña ord =PASSWORD"

Siga los pasos que se indican a continuación para actualizar los registros existentes de una tabla en Apache Derby.

Paso 1: registre el controlador

Para comunicarse con la base de datos, en primer lugar, debe registrar el controlador. 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. La clase Connection 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() y, 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()El método devuelve datos. Utilice cualquiera de estos métodos y ejecute la instrucción creada anteriormente.

Ejemplo

El siguiente ejemplo de JDBC demuestra cómo actualizar 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 UpdateData {
   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'), "
         + "('Trupti', 45000, 'Kochin')";
      //Executing the query
      String query = "UPDATE Employees SET Location = 'Chennai', Salary = 43000 WHERE
         Name = 'Kalyan'";
      int num = stmt.executeUpdate(query);
      System.out.println("Number of records updated are: "+num);
   }
}

Salida

Al ejecutar el programa anterior, obtendrá el siguiente resultado:

Number of records updated are: 1