Apache Derby - Clause
WHERE yan tümcesi SELECT, DELETE veya UPDATE deyimlerinde işlemin gerçekleştirilmesi gereken satırları belirtmek için kullanılır. Genellikle, bu cümlenin ardından bir Boolean değeri döndüren bir koşul veya ifade gelir; Select, delete veya, güncelleme işlemleri yalnızca belirtilen koşulu sağlayan satırlarda gerçekleştirilir.
ij> SELECT * from table_name WHERE condition;
or,
ij> DELETE from table_name WHERE condition;
or,
ij> UPDATE table_name SET column_name = value WHERE condition;
WHERE yan tümcesi =,! =, <,>, <= Ve> = gibi karşılaştırma işleçlerinin yanı sıra BETWEEN ve LIKE işleçlerini kullanabilir.
Misal
Veritabanında aşağıda gösterildiği gibi 7 kaydı olan Çalışanlar 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 |Trupthi |45000 |Kochin
6 |Suchatra |33000 |Pune
7 |Rahul |39000 |Lucknow
Aşağıdaki SQL DELETE ifadesi, maaşı 35000'den fazla olan çalışanların kayıtlarını alır -
ij> SELECT * FROM Employees WHERE Salary>35000;
Bu, aşağıdaki çıktıyı üretecektir -
ID |NAME |SALARY |LOCATION
---------------------------------------------------
2 |Kalyan |40000 |Vishakhapatnam
3 |Renuka |50000 |Delhi
5 |Trupthi |45000 |Kochin
7 |Rahul |39000 |Lucknow
4 rows selected
Benzer şekilde, bu maddeyi kullanarak kayıtları da silebilir ve güncelleyebilirsiniz.
Aşağıdaki örnek, maaşı 30000'den az olanların konumunu güncellemektedir.
ij> UPDATE Employees SET Location = 'Vijayawada' WHERE Salary<35000;
3 rows inserted/updated/deleted
Tablonun içeriğini doğrularsanız, güncellenmiş tabloyu aşağıda gösterildiği gibi görebilirsiniz -
ij> SELECT * FROM Employees;
ID |NAME |SALARY |LOCATION
------------------------------------------------------------------------------
1 |Amit |30000 |Vijayawada
2 |Kalyan |40000 |Vishakhapatnam
3 |Renuka |50000 |Delhi
4 |Archana |15000 |Vijayawada
5 |Trupthi |45000 |Kochin
6 |Suchatra |33000 |Vijayawada
7 |Rahul |39000 |Lucknow
7 rows selected
JDBC örneği nerede
Bu bölüm size WHERE yan tümcesini nasıl kullanacağınızı ve JDBC uygulamasını kullanarak Apache Derby veritabanındaki bir tabloda CURD işlemlerini nasıl gerçekleştireceğinizi öğretir.
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; oluştur = doğru; kullanıcı =USER_NAME;passw ord =PASSWORD".
WHERE yan tümcesini kullanmak ve Apache Derby'de bir tablo üzerinde CURD işlemleri gerçekleştirmek için aşağıdaki adımları izleyin.
Adım 1: Sürücüyü kaydedin
Veritabanıyla iletişim kurmak için öncelikle 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ı ile 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 veya, 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()verileri döndüren yöntem sonuçları. Bu yöntemlerden birini kullanın ve önceden oluşturulan ifadeyi yürütün.
Misal
Aşağıdaki JDBC örneği, WHERE cümlesinin nasıl kullanılacağını ve JDBC programını kullanarak Apache Derby'deki bir tabloda CURD işlemlerinin nasıl gerçekleştirileceğ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.Statement;
import java.sql.ResultSet;
public class WhereClauseExample {
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 = "SELECT * FROM Employees WHERE Salary>35000";
ResultSet rs = stmt.executeQuery(query);
while(rs.next()) {
System.out.println("Id: "+rs.getString("Id"));
System.out.println("Name: "+rs.getString("Name"));
System.out.println("Salary: "+rs.getString("Salary"));
System.out.println("Location: "+rs.getString("Location"));
System.out.println(" ");
}
}
}
Çıktı
Yukarıdaki programı çalıştırırken, aşağıdaki çıktıyı alacaksınız -
Id: 2
Name: Kalyan
Salary: 43000
Location: Chennai
Id: 3
Name: Renuka
Salary: 50000
Location: Delhi
Id: 5
Name: Trupthi
Salary: 45000
Location: Kochin
Id: 7
Name: Rahul
Salary: 39000
Location: Lucknow