Apache Derby - Daten aktualisieren

Die UPDATE-Anweisung wird zum Aktualisieren von Daten in einer Tabelle verwendet. Apache Derby bietet nämlich zwei Arten von Updates (Syntax)searched Update und positioned aktualisieren.

Die gesuchte UPDATE-Anweisung aktualisiert alle angegebenen Spalten einer Tabelle.

Syntax

Es folgt die Syntax der UPDATE-Abfrage:

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

Die WHERE-Klausel kann die Vergleichsoperatoren wie = ,! =, <,>, <= Und> = sowie die Operatoren BETWEEN und LIKE verwenden.

Beispiel

Angenommen, Sie haben eine Tabelle Mitarbeiter in der Datenbank mit den 4 Datensätzen, wie unten gezeigt -

ID |NAME |SALARY |LOCATION
----------------------------------------------------------
1 |Amit |30000 |Hyderabad
2 |Kalyan |40000 |Vishakhapatnam
3 |Renuka |50000 |Delhi
4 |Archana |15000 |Mumbai

Die folgende SQL UPDATE-Anweisung aktualisiert den Standort und das Gehalt eines Mitarbeiters mit dem Namen Kaylan.

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

Wenn Sie den Inhalt der Employees-Tabelle erhalten, können Sie die von der UPDATE-Abfrage vorgenommenen Änderungen beobachten.

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

Aktualisieren Sie die Daten mit dem JDBC-Programm

In diesem Abschnitt wird erläutert, wie Sie die vorhandenen Datensätze einer Tabelle in der Apache Derby-Datenbank mithilfe der JDBC-Anwendung aktualisieren.

Wenn Sie den Derby-Netzwerkserver über den Netzwerkclient anfordern möchten, stellen Sie sicher, dass der Server betriebsbereit ist. Der Klassenname für den Netzwerkclienttreiber lautet org.apache.derby.jdbc.ClientDriver und die URL lautet jdbc: derby: // localhost: 1527 /DATABASE_NAME; create = true; user =USER_NAME; passw ord =PASSWORD""

Führen Sie die folgenden Schritte aus, um die vorhandenen Datensätze einer Tabelle in Apache Derby zu aktualisieren.

Schritt 1: Registrieren Sie den Treiber

Um mit der Datenbank zu kommunizieren, müssen Sie zunächst den Treiber registrieren. DasforName() Methode der Klasse ClassAkzeptiert einen String-Wert, der einen Klassennamen darstellt, lädt ihn in den Speicher, der ihn automatisch registriert. Registrieren Sie den Treiber mit dieser Methode.

Schritt 2: Stellen Sie die Verbindung her

Im Allgemeinen besteht der erste Schritt zur Kommunikation mit der Datenbank darin, eine Verbindung mit der Datenbank herzustellen. Die Verbindungsklasse repräsentiert die physische Verbindung mit einem Datenbankserver. Sie können ein Verbindungsobjekt erstellen, indem Sie das aufrufengetConnection() Methode der DriverManagerKlasse. Erstellen Sie mit dieser Methode eine Verbindung.

Schritt 3: Erstellen Sie ein Anweisungsobjekt

Sie müssen eine erstellen Statement oder PreparedStatement or, CallableStatementObjekte zum Senden von SQL-Anweisungen an die Datenbank. Sie können diese mit den Methoden erstellencreateStatement(), prepareStatement() und, prepareCall()beziehungsweise. Erstellen Sie eines dieser Objekte mit der entsprechenden Methode.

Schritt 4: Führen Sie die Abfrage aus

Nachdem Sie eine Anweisung erstellt haben, müssen Sie sie ausführen. DasStatement Klasse bietet verschiedene Methoden, um eine Abfrage wie die auszuführen execute()Methode zum Ausführen einer Anweisung, die mehr als eine Ergebnismenge zurückgibt. DasexecuteUpdate()Methode führt Abfragen wie INSERT, UPDATE, DELETE aus. DasexecuteQuery()Methode gibt Daten zurück. Verwenden Sie eine dieser Methoden und führen Sie die zuvor erstellte Anweisung aus.

Beispiel

Das folgende JDBC-Beispiel zeigt, wie die vorhandenen Datensätze einer Tabelle in Apache Derby mithilfe des JDBC-Programms aktualisiert werden. Hier stellen wir mithilfe des eingebetteten Treibers eine Verbindung zu einer Datenbank mit dem Namen sampleDB her (wird erstellt, wenn sie nicht vorhanden ist).

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);
   }
}

Ausgabe

Wenn Sie das obige Programm ausführen, erhalten Sie die folgende Ausgabe:

Number of records updated are: 1