Apache Derby - удаление данных

Оператор DELETE используется для удаления строк таблицы. Как и оператор UPDATE, Apache Derby предоставляет два типа удаления (синтаксис):searched удалить и positioned удалять.

Поисковый оператор delete удаляет все указанные столбцы таблицы.

Синтаксис

Синтаксис оператора DELETE следующий:

ij> DELETE FROM table_name WHERE condition;

пример

Предположим, у нас есть таблица с именем employee с 5 записями, как показано ниже -

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

Следующая инструкция SQL DELETE удаляет запись с именем Trupti.

ij> DELETE FROM Employees WHERE Name = 'Trupti';
1 row inserted/updated/deleted

Если вы получите содержимое таблицы «Сотрудники», вы увидите только четыре записи, как показано ниже -

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

Чтобы удалить все записи в таблице, выполните тот же запрос без предложения where.

ij> DELETE FROM Employees;
4 rows inserted/updated/deleted

Теперь, если вы попытаетесь получить содержимое таблицы Employee, вы получите пустую таблицу, как показано ниже -

ij> select * from employees;
ID |NAME |SALARY |LOCATION
--------------------------------------------------------
0 rows selected

Удалить данные с помощью программы JDBC

В этом разделе объясняется, как удалить существующие записи таблицы в базе данных Apache Derby с помощью приложения JDBC.

Если вы хотите запросить сетевой сервер Derby с помощью сетевого клиента, убедитесь, что сервер запущен и работает. Имя класса для драйвера сетевого клиента - org.apache.derby.jdbc.ClientDriver, а URL-адрес - jdbc: derby: // localhost: 1527 /DATABASE_NAME;create = true; пользователь =USER_NAME;пароль =PASSWORD".

Следуйте инструкциям ниже, чтобы удалить существующие записи таблицы в Apache Derby: / p>

Шаг 1. Зарегистрируйте драйвер

Во-первых, вам необходимо зарегистрировать драйвер для связи с базой данных. ВforName() метод класса Classпринимает значение String, представляющее имя класса, загружает его в память, которая автоматически регистрирует его. Зарегистрируйте драйвер, используя этот метод.

Шаг 2. Установите соединение

В общем, первый шаг, который мы делаем для связи с базой данных, - это подключение к ней. ВConnectionКласс представляет физическое соединение с сервером базы данных. Вы можете создать объект подключения, вызвавgetConnection() метод DriverManagerкласс. Создайте соединение, используя этот метод.

Шаг 3. Создайте объект утверждения

Вам нужно создать Statement или PreparedStatement or, CallableStatementобъекты для отправки операторов SQL в базу данных. Вы можете создать их, используя методыcreateStatement(), prepareStatement() and, 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 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);
   }
}

Выход

При выполнении вышеуказанной программы вы получите следующий результат -

Number of records deleted are: 1