Apache Derby - Hapus Data

Pernyataan DELETE digunakan untuk menghapus baris-baris tabel. Sama seperti pernyataan UPDATE, Apache Derby menyediakan dua jenis Hapus (sintaks):searched hapus dan positioned menghapus.

Pernyataan hapus yang dicari menghapus semua kolom tertentu dari sebuah tabel.

Sintaksis

Sintaks dari pernyataan DELETE adalah sebagai berikut -

ij> DELETE FROM table_name WHERE condition;

Contoh

Misalkan kita memiliki tabel bernama karyawan dengan 5 catatan seperti yang ditunjukkan di bawah ini -

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

Pernyataan SQL DELETE berikut ini menghapus rekaman dengan nama Trupti.

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

Jika Anda mendapatkan konten tabel karyawan, Anda hanya bisa melihat empat rekaman seperti yang diperlihatkan di bawah ini -

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

Untuk menghapus semua rekaman dalam tabel, jalankan kueri yang sama tanpa klausa where.

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

Sekarang, jika Anda mencoba untuk mendapatkan isi tabel Karyawan, Anda akan mendapatkan tabel kosong seperti yang diberikan di bawah ini -

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

Hapus Data menggunakan program JDBC

Bagian ini menjelaskan cara menghapus record tabel yang ada di database Apache Derby menggunakan aplikasi JDBC.

Jika Anda ingin meminta server jaringan Derby menggunakan klien jaringan, pastikan bahwa server aktif dan berjalan. Nama kelas untuk driver klien Jaringan adalah org.apache.derby.jdbc.ClientDriver dan URL-nya adalah jdbc: derby: // localhost: 1527 /DATABASE_NAME;buat = benar; pengguna =USER_NAME;passw ord =PASSWORD".

Ikuti langkah-langkah yang diberikan di bawah ini untuk menghapus record tabel yang ada di Apache Derby: / p>

Langkah 1: Daftarkan driver

Pertama, Anda perlu mendaftarkan driver untuk berkomunikasi dengan database. ItuforName() metode kelas Classmenerima nilai String yang mewakili nama kelas memuatnya ke memori, yang secara otomatis mendaftarkannya. Daftarkan driver menggunakan metode ini.

Langkah 2: Dapatkan koneksi

Secara umum, langkah pertama yang kita lakukan untuk berkomunikasi dengan database adalah menghubungkannya. ItuConnectionkelas mewakili koneksi fisik dengan server database. Anda dapat membuat objek koneksi dengan menjalankangetConnection() metode dari DriverManagerkelas. Buat koneksi menggunakan metode ini.

Langkah 3: Buat objek pernyataan

Anda perlu membuat file Statement atau PreparedStatement or, CallableStatementobjek untuk mengirim pernyataan SQL ke database. Anda dapat membuatnya menggunakan metodecreateStatement(), prepareStatement() and, prepareCall()masing-masing. Buat salah satu dari objek ini menggunakan metode yang sesuai.

Langkah 4: Jalankan kueri

Setelah membuat pernyataan, Anda perlu menjalankannya. ItuStatement kelas menyediakan berbagai metode untuk mengeksekusi kueri seperti execute()metode untuk mengeksekusi pernyataan yang mengembalikan lebih dari satu kumpulan hasil. ItuexecuteUpdate()metode mengeksekusi query seperti INSERT, UPDATE, DELETE. ItuexecuteQuery()hasil metode yang mengembalikan data. Gunakan salah satu dari metode ini dan jalankan pernyataan yang dibuat sebelumnya.

Contoh

Mengikuti contoh JDBC menunjukkan cara menghapus catatan tabel yang ada di Apache Derby menggunakan program JDBC. Di sini, kami menghubungkan ke database bernama sampleDB (akan dibuat jika tidak ada) menggunakan driver tertanam.

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

Keluaran

Saat menjalankan program di atas, Anda akan mendapatkan output berikut -

Number of records deleted are: 1