Apache Derby - Обновление данных
Оператор UPDATE используется для обновления данных в таблице. Apache Derby предоставляет два типа обновлений (синтаксис), а именно:searched обновить и positioned Обновить.
Поисковый оператор UPDATE обновляет все указанные столбцы таблицы.
Синтаксис
Ниже приводится синтаксис запроса UPDATE -
ij> UPDATE table_name
SET column_name = value, column_name = value, ...
WHERE conditions;
В предложении WHERE можно использовать операторы сравнения, такие как =,! =, <,>, <= И> =, а также операторы BETWEEN и LIKE.
пример
Предположим, у вас есть таблица Employee в базе данных с 4 записями, как показано ниже -
ID |NAME |SALARY |LOCATION
----------------------------------------------------------
1 |Amit |30000 |Hyderabad
2 |Kalyan |40000 |Vishakhapatnam
3 |Renuka |50000 |Delhi
4 |Archana |15000 |Mumbai
Следующий оператор SQL UPDATE обновляет местоположение и зарплату сотрудника по имени Кайлан.
ij> UPDATE Employees SET Location = 'Chennai', Salary = 43000 WHERE Name =
'Kalyan';
1 rows inserted/updated/deleted
Если вы получите содержимое таблицы «Сотрудники», вы сможете увидеть изменения, внесенные запросом 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
Обновление данных с помощью программы JDBC
В этом разделе объясняется, как обновить существующие записи таблицы в базе данных Apache Derby с помощью приложения JDBC.
Если вы хотите запросить сетевой сервер Derby с помощью сетевого клиента, убедитесь, что сервер запущен и работает. Имя класса для драйвера сетевого клиента - org.apache.derby.jdbc.ClientDriver, а URL-адрес - jdbc: derby: // localhost: 1527 /DATABASE_NAME; create = true; user =USER_NAME; пароль =PASSWORD"
Следуйте инструкциям, приведенным ниже, чтобы обновить существующие записи таблицы в Apache Derby.
Шаг 1. Зарегистрируйте драйвер
Для связи с базой данных в первую очередь необходимо зарегистрировать драйвер. ВforName() метод класса Classпринимает значение String, представляющее имя класса, загружает его в память, которая автоматически регистрирует его. Зарегистрируйте драйвер, используя этот метод.
Шаг 2. Установите соединение
В общем, первый шаг, который мы делаем для связи с базой данных, - это подключение к ней. Класс Connection представляет физическое соединение с сервером базы данных. Вы можете создать объект подключения, вызвавgetConnection() метод DriverManagerкласс. Создайте соединение, используя этот метод.
Шаг 3. Создайте объект утверждения
Вам нужно создать Statement или PreparedStatement or, CallableStatementобъекты для отправки операторов SQL в базу данных. Вы можете создать их, используя методыcreateStatement(), prepareStatement() а также, prepareCall()соответственно. Создайте любой из этих объектов, используя соответствующий метод.
Шаг 4: Выполните запрос
После создания выписки необходимо ее выполнить. ВStatement класс предоставляет различные методы для выполнения запроса, например execute()для выполнения оператора, возвращающего более одного набора результатов. ВexecuteUpdate()выполняет такие запросы, как INSERT, UPDATE, DELETE. ВexecuteQuery()метод возвращает данные. Используйте любой из этих методов и выполните ранее созданный оператор.
пример
Следующий пример JDBC демонстрирует, как обновить существующие записи таблицы в Apache Derby с помощью программы JDBC. Здесь мы подключаемся к базе данных с именем sampleDB (создаст, если она не существует), используя встроенный драйвер.
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);
}
}
Выход
При выполнении вышеуказанной программы вы получите следующий результат -
Number of records updated are: 1