Apache Derby - пункт Where
Предложение WHERE используется в операторах SELECT, DELETE или UPDATE для указания строк, над которыми должна быть выполнена операция. Обычно за этим предложением следует условие или выражение, которое возвращает логическое значение, операции выбора, удаления или обновления выполняются только для строк, которые удовлетворяют данному условию.
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 можно использовать операторы сравнения, такие как =,! =, <,>, <= И> =, а также операторы BETWEEN и LIKE.
пример
Предположим, у нас есть таблица с именем «Сотрудники» в базе данных с 7 записями, как показано ниже -
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
Следующий оператор SQL DELETE извлекает записи о сотрудниках, зарплата которых превышает 35000:
ij> SELECT * FROM Employees WHERE Salary>35000;
Это даст следующий результат -
ID |NAME |SALARY |LOCATION
---------------------------------------------------
2 |Kalyan |40000 |Vishakhapatnam
3 |Renuka |50000 |Delhi
5 |Trupthi |45000 |Kochin
7 |Rahul |39000 |Lucknow
4 rows selected
Точно так же вы также можете удалять и обновлять записи с помощью этого предложения.
В следующем примере обновляется местоположение тех, чья зарплата меньше 30000.
ij> UPDATE Employees SET Location = 'Vijayawada' WHERE Salary<35000;
3 rows inserted/updated/deleted
Если вы проверите содержимое таблицы, вы увидите обновленную таблицу, как показано ниже -
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 пример
В этом разделе рассказывается, как использовать предложение WHERE и выполнять операции CURD над таблицей в базе данных Apache Derby с помощью приложения JDBC.
Если вы хотите запросить сетевой сервер Derby с помощью сетевого клиента, убедитесь, что сервер запущен и работает. Имя класса для драйвера сетевого клиента - org.apache.derby.jdbc.ClientDriver, а URL-адрес - jdbc: derby: // localhost: 1527 /DATABASE_NAME; create = true; user =USER_NAME;пароль =PASSWORD".
Следуйте инструкциям ниже, чтобы использовать предложение WHERE и выполнять операции CURD над таблицей в Apache Derby.
Шаг 1. Зарегистрируйте драйвер
Для связи с базой данных в первую очередь необходимо зарегистрировать драйвер. ВforName() метод класса Classпринимает значение String, представляющее имя класса, загружает его в память, которая автоматически регистрирует его. Зарегистрируйте драйвер этим методом
Шаг 2. Установите соединение
В общем, первый шаг, который мы делаем для связи с базой данных, - это подключение к ней. ВConnectionКласс представляет физическое соединение с сервером базы данных. Вы можете создать объект подключения, вызвавgetConnection() метод DriverManagerкласс. Создайте соединение, используя этот метод.
Шаг 3. Создайте объект утверждения
Вам нужно создать Statement или PreparedStatement или, CallableStatementобъекты для отправки операторов SQL в базу данных. Вы можете создать их, используя методыcreateStatement(), prepareStatement() and, prepareCall()соответственно. Создайте любой из этих объектов, используя соответствующий метод.
Шаг 4: Выполните запрос
После создания выписки необходимо ее выполнить. ВStatement класс предоставляет различные методы для выполнения запроса, например execute()для выполнения оператора, возвращающего более одного набора результатов. ВexecuteUpdate()выполняет такие запросы, как INSERT, UPDATE, DELETE. ВexecuteQuery()результаты метода, который возвращает данные. Используйте любой из этих методов и выполните ранее созданный оператор.
пример
Следующий пример JDBC демонстрирует, как использовать предложение WHERE и выполнять операции CURD над таблицей в Apache Derby с помощью программы JDBC. Здесь мы подключаемся к базе данных с именем sampleDB (создаст, если она не существует), используя встроенный драйвер.
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(" ");
}
}
}
Выход
При выполнении вышеуказанной программы вы получите следующий результат -
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