Предложение 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.
пример
Предположим, у нас есть таблица с именем Employees в базе данных с 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; passw ord = ПАРОЛЬ «.
Следуйте приведенным ниже инструкциям, чтобы использовать предложение WHERE и выполнять операции CURD с таблицей в Apache Derby.
Шаг 1: зарегистрировать драйвер
Для связи с базой данных, прежде всего, необходимо зарегистрировать драйвер. Метод forName () класса Class принимает значение String, представляющее имя класса, загружает его в память, которая автоматически регистрирует его. Зарегистрируйте драйвер, используя этот метод
Шаг 2: Получить соединение
В общем, первый шаг, который мы делаем для связи с базой данных, это соединение с ней. Класс Connection представляет физическое соединение с сервером базы данных. Вы можете создать объект соединения, вызвав метод getConnection () класса DriverManager . Создайте соединение, используя этот метод.
Шаг 3: Создайте объект выписки
Вам необходимо создать объект Statement или PreparedStatement или CallableStatement для отправки операторов SQL в базу данных. Вы можете создать их, используя методы createStatement (), prepareStatement () и 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(" "); } } }
Выход
Выполнив вышеуказанную программу, вы получите следующий вывод: