Apache Derby - Verileri Sil

DELETE deyimi, bir tablonun satırlarını silmek için kullanılır. UPDATE deyiminde olduğu gibi, Apache Derby iki tür Sil (sözdizimi) sağlar:searched sil ve positioned silin.

Aranan delete deyimi, bir tablonun belirtilen tüm sütunlarını siler.

Sözdizimi

DELETE ifadesinin sözdizimi aşağıdaki gibidir -

ij> DELETE FROM table_name WHERE condition;

Misal

Aşağıda gösterildiği gibi 5 kaydı olan çalışan adlı bir tablomuz olduğunu varsayalım -

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

Aşağıdaki SQL DELETE ifadesi, Trupti adlı kaydı siler.

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

Çalışanlar tablosunun içeriğini alırsanız, aşağıda gösterildiği gibi yalnızca dört kaydı görebilirsiniz -

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

Tablodaki tüm kayıtları silmek için, aynı sorguyu where cümlesi olmadan yürütün.

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

Şimdi, Çalışan tablosunun içeriğini almaya çalışırsanız, aşağıda verildiği gibi boş bir tablo alacaksınız -

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

Verileri JDBC programını kullanarak silin

Bu bölüm, Apache Derby veritabanındaki bir tablonun mevcut kayıtlarının JDBC uygulaması kullanılarak nasıl silineceğini açıklamaktadır.

Ağ istemcisini kullanarak Derby ağ sunucusunu talep etmek istiyorsanız, sunucunun çalışır durumda olduğundan emin olun. Ağ istemci sürücüsünün sınıf adı org.apache.derby.jdbc.ClientDriver ve URL jdbc: derby: // localhost: 1527 / şeklindedir.DATABASE_NAME;create = true; user =USER_NAME;passw ord =PASSWORD".

Apache Derby'de bir tablonun mevcut kayıtlarını silmek için aşağıdaki adımları izleyin: / p>

Adım 1: Sürücüyü kaydedin

Öncelikle, veritabanıyla iletişim kurabilmek için sürücüyü kaydetmeniz gerekir. forName() sınıfın yöntemi Classbir sınıf adını temsil eden bir String değerini kabul eder, onu otomatik olarak kaydeden belleğe yükler. Bu yöntemi kullanarak sürücüyü kaydedin.

2. Adım: Bağlantıyı alın

Genel olarak, veri tabanıyla iletişim kurmak için yaptığımız ilk adım, onunla bağlantı kurmaktır. Connectionclass, bir veritabanı sunucusuyla fiziksel bağlantıyı temsil eder. Çağırarak bir bağlantı nesnesi oluşturabilirsiniz.getConnection() yöntemi DriverManagersınıf. Bu yöntemi kullanarak bir bağlantı oluşturun.

Adım 3: Bir ifade nesnesi oluşturun

Bir yaratmanız gerekiyor Statement veya PreparedStatement or, CallableStatementveritabanına SQL ifadeleri göndermek için nesneler. Yöntemleri kullanarak bunları oluşturabilirsinizcreateStatement(), prepareStatement() and, prepareCall()sırasıyla. Uygun yöntemi kullanarak bu nesnelerden birini oluşturun.

4. Adım: Sorguyu yürütün

Bir ifade oluşturduktan sonra, onu yürütmeniz gerekir. Statement sınıfı, bir sorguyu yürütmek için çeşitli yöntemler sağlar. execute()Birden fazla sonuç kümesi döndüren bir ifadeyi yürütme yöntemi. executeUpdate()yöntem INSERT, UPDATE, DELETE gibi sorguları yürütür. executeQuery()veri döndüren yöntem sonuçları. Bu yöntemlerden birini kullanın ve önceden oluşturulan ifadeyi çalıştırın.

Misal

Aşağıdaki JDBC örneği, JDBC programını kullanarak Apache Derby'de bir tablonun mevcut kayıtlarının nasıl silineceğini gösterir. Burada, gömülü sürücüyü kullanarak sampleDB (yoksa yaratacaktır) adlı bir veritabanına bağlanıyoruz.

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

Çıktı

Yukarıdaki programı çalıştırırken aşağıdaki çıktıyı alacaksınız -

Number of records deleted are: 1