Apache Derby - Mettre à jour les données
L'instruction UPDATE est utilisée pour mettre à jour les données dans une table. Apache Derby fournit deux types de mises à jour (syntaxe) à savoirsearched mise à jour et positioned mise à jour.
L'instruction UPDATE recherchée met à jour toutes les colonnes spécifiées d'une table.
Syntaxe
Voici la syntaxe de la requête UPDATE -
ij> UPDATE table_name
SET column_name = value, column_name = value, ...
WHERE conditions;
La clause WHERE peut utiliser les opérateurs de comparaison tels que =,! =, <,>, <= Et> =, ainsi que les opérateurs BETWEEN et LIKE.
Exemple
Supposons que vous ayez une table Employee dans la base de données avec les 4 enregistrements comme indiqué ci-dessous -
ID |NAME |SALARY |LOCATION
----------------------------------------------------------
1 |Amit |30000 |Hyderabad
2 |Kalyan |40000 |Vishakhapatnam
3 |Renuka |50000 |Delhi
4 |Archana |15000 |Mumbai
L'instruction SQL UPDATE suivante met à jour l'emplacement et le salaire d'un employé dont le nom est Kaylan.
ij> UPDATE Employees SET Location = 'Chennai', Salary = 43000 WHERE Name =
'Kalyan';
1 rows inserted/updated/deleted
Si vous obtenez le contenu de la table Employés, vous pouvez observer les modifications apportées par la requête UPDATE.
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
Mettre à jour les données à l'aide du programme JDBC
Cette section explique comment mettre à jour les enregistrements existants d'une table dans la base de données Apache Derby à l'aide de l'application JDBC.
Si vous souhaitez demander le serveur réseau Derby à l'aide du client réseau, assurez-vous que le serveur est opérationnel. Le nom de classe du pilote client réseau est org.apache.derby.jdbc.ClientDriver et l'URL est jdbc: derby: // localhost: 1527 /DATABASE_NAME; créer = vrai; utilisateur =USER_NAME; passw ord =PASSWORD"
Suivez les étapes ci-dessous pour mettre à jour les enregistrements existants d'une table dans Apache Derby.
Étape 1: enregistrer le pilote
Pour communiquer avec la base de données, vous devez tout d'abord enregistrer le pilote. leforName() méthode de la classe Classaccepte une valeur String représentant un nom de classe la charge dans la mémoire, qui l'enregistre automatiquement. Enregistrez le pilote en utilisant cette méthode.
Étape 2: Obtenez la connexion
En général, la première étape que nous faisons pour communiquer avec la base de données est de nous y connecter. La classe Connection représente la connexion physique avec un serveur de base de données. Vous pouvez créer un objet de connexion en appelant legetConnection() méthode de la DriverManagerclasse. Créez une connexion à l'aide de cette méthode.
Étape 3: créer un objet instruction
Vous devez créer un Statement ou PreparedStatement or, CallableStatementobjets pour envoyer des instructions SQL à la base de données. Vous pouvez les créer en utilisant les méthodescreateStatement(), prepareStatement() et, prepareCall()respectivement. Créez l'un de ces objets en utilisant la méthode appropriée.
Étape 4: exécutez la requête
Après avoir créé une instruction, vous devez l'exécuter. leStatement classe fournit diverses méthodes pour exécuter une requête comme execute()pour exécuter une instruction qui renvoie plusieurs ensembles de résultats. leexecuteUpdate()La méthode exécute des requêtes comme INSERT, UPDATE, DELETE. leexecuteQuery()La méthode renvoie des données. Utilisez l'une de ces méthodes et exécutez l'instruction créée précédemment.
Exemple
L'exemple JDBC suivant montre comment mettre à jour les enregistrements existants d'une table dans Apache Derby à l'aide du programme JDBC. Ici, nous nous connectons à une base de données nommée sampleDB (créera si elle n'existe pas) en utilisant le pilote intégré.
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);
}
}
Production
Lors de l'exécution du programme ci-dessus, vous obtiendrez la sortie suivante -
Number of records updated are: 1