Apache Derby - Usuń dane

Instrukcja DELETE służy do usuwania wierszy tabeli. Podobnie jak instrukcja UPDATE, Apache Derby udostępnia dwa typy usuwania (składnia):searched usuń i positioned usunąć.

Wyszukana instrukcja delete usuwa wszystkie określone kolumny tabeli.

Składnia

Składnia instrukcji DELETE jest następująca -

ij> DELETE FROM table_name WHERE condition;

Przykład

Załóżmy, że mamy tabelę o nazwie pracownik z 5 rekordami, jak pokazano poniżej -

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

Następująca instrukcja SQL DELETE usuwa rekord o nazwie Trupti.

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

Jeśli otrzymasz zawartość tabeli Pracownicy, zobaczysz tylko cztery rekordy, jak pokazano poniżej -

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

Aby usunąć wszystkie rekordy w tabeli, wykonaj to samo zapytanie bez klauzuli where.

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

Teraz, jeśli spróbujesz pobrać zawartość tabeli Employee, otrzymasz pustą tabelę, jak podano poniżej -

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

Usuń dane za pomocą programu JDBC

W tej sekcji wyjaśniono, jak usunąć istniejące rekordy tabeli w bazie danych Apache Derby za pomocą aplikacji JDBC.

Jeśli chcesz zażądać serwera sieciowego Derby za pomocą klienta sieciowego, upewnij się, że serwer jest uruchomiony i działa. Nazwa klasy sterownika klienta sieci to org.apache.derby.jdbc.ClientDriver, a adres URL to jdbc: derby: // localhost: 1527 /DATABASE_NAME;create = true; user =USER_NAME;passw ord =PASSWORD”.

Wykonaj czynności podane poniżej, aby usunąć istniejące rekordy tabeli w Apache Derby: / p>

Krok 1: Zarejestruj sterownik

Po pierwsze, musisz zarejestrować sterownik, aby komunikować się z bazą danych. PlikforName() metoda klasy Classakceptuje wartość String reprezentującą nazwę klasy, ładuje ją do pamięci, która automatycznie ją rejestruje. Zarejestruj sterownik za pomocą tej metody.

Krok 2: Uzyskaj połączenie

Ogólnie rzecz biorąc, pierwszym krokiem, jaki robimy, aby komunikować się z bazą danych, jest połączenie się z nią. PlikConnectionklasa reprezentuje fizyczne połączenie z serwerem bazy danych. Możesz utworzyć obiekt połączenia, wywołującgetConnection() metoda DriverManagerklasa. Utwórz połączenie za pomocą tej metody.

Krok 3: Utwórz obiekt instrukcji

Musisz utworzyć plik Statement lub PreparedStatement or, CallableStatementobiekty do wysyłania instrukcji SQL do bazy danych. Możesz je utworzyć za pomocą metodcreateStatement(), prepareStatement() and, prepareCall()odpowiednio. Utwórz jeden z tych obiektów przy użyciu odpowiedniej metody.

Krok 4: Wykonaj zapytanie

Po utworzeniu instrukcji musisz ją wykonać. PlikStatement klasa zapewnia różne metody wykonywania zapytania, takie jak execute()metoda, aby wykonać instrukcję, która zwraca więcej niż jeden zestaw wyników. PlikexecuteUpdate()metoda wykonuje zapytania, takie jak INSERT, UPDATE, DELETE. PlikexecuteQuery()wyniki metody, która zwraca dane. Użyj jednej z tych metod i wykonaj instrukcję utworzoną wcześniej.

Przykład

Poniższy przykład JDBC pokazuje, jak usunąć istniejące rekordy tabeli w Apache Derby za pomocą programu JDBC. Tutaj łączymy się z bazą danych o nazwie sampleDB (utworzymy, jeśli nie istnieje) za pomocą wbudowanego sterownika.

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

Wynik

Wykonując powyższy program, otrzymasz następujące dane wyjściowe -

Number of records deleted are: 1