23:46
Урок 33: Выполнение запросов

Курс по программированию на Java

Урок 33: Выполнение запросов

В этом уроке мы подробно рассмотрим выполнение SQL-запросов с использованием JDBC. SQL-запросы могут включать выборку данных (SELECT), вставку (INSERT), обновление (UPDATE) и удаление (DELETE). Использование JDBC позволяет Java-приложениям взаимодействовать с реляционными базами данных, выполняя различные операции с данными.

Выборка данных (SELECT)

Для выполнения запросов на выборку данных используется метод executeQuery объекта Statement. Этот метод возвращает объект ResultSet, который содержит результаты запроса. Пример:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class SelectQueryExample {
 public static void main(String[] args) {
 String url = "jdbc:mysql://localhost:3306/mydatabase";
 String user = "root";
 String password = "password";

 try {
 Connection connection = DriverManager.getConnection(url, user, password);
 Statement statement = connection.createStatement();
 String query = "SELECT * FROM users";
 ResultSet resultSet = statement.executeQuery(query);

 while (resultSet.next()) {
 System.out.println("ID: " + resultSet.getInt("id") + ", Имя: " + resultSet.getString("name"));
 }

 resultSet.close();
 statement.close();
 connection.close();
 } catch (SQLException e) {
 e.printStackTrace();
 }
 }
}

Результат выполнения

ID: 1, Имя: Иван
ID: 2, Имя: Мария
ID: 3, Имя: Петр

Вставка данных (INSERT)

Для выполнения запросов на вставку данных используется метод executeUpdate объекта Statement. Пример:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class InsertQueryExample {
 public static void main(String[] args) {
 String url = "jdbc:mysql://localhost:3306/mydatabase";
 String user = "root";
 String password = "password";

 try {
 Connection connection = DriverManager.getConnection(url, user, password);
 Statement statement = connection.createStatement();
 String query = "INSERT INTO users (id, name) VALUES (4, 'Алексей')";
 int rowsAffected = statement.executeUpdate(query);
 System.out.println("Вставлено строк: " + rowsAffected);

 statement.close();
 connection.close();
 } catch (SQLException e) {
 e.printStackTrace();
 }
 }
}

Результат выполнения

Вставлено строк: 1

Обновление данных (UPDATE)

Для выполнения запросов на обновление данных используется метод executeUpdate объекта Statement. Пример:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class UpdateQueryExample {
 public static void main(String[] args) {
 String url = "jdbc:mysql://localhost:3306/mydatabase";
 String user = "root";
 String password = "password";

 try {
 Connection connection = DriverManager.getConnection(url, user, password);
 Statement statement = connection.createStatement();
 String query = "UPDATE users SET name = 'Мария Иванова' WHERE id = 2";
 int rowsAffected = statement.executeUpdate(query);
 System.out.println("Обновлено строк: " + rowsAffected);

 statement.close();
 connection.close();
 } catch (SQLException e) {
 e.printStackTrace();
 }
 }
}

Результат выполнения

Обновлено строк: 1

Удаление данных (DELETE)

Для выполнения запросов на удаление данных используется метод executeUpdate объекта Statement. Пример:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class DeleteQueryExample {
 public static void main(String[] args) {
 String url = "jdbc:mysql://localhost:3306/mydatabase";
 String user = "root";
 String password = "password";

 try {
 Connection connection = DriverManager.getConnection(url, user, password);
 Statement statement = connection.createStatement();
 String query = "DELETE FROM users WHERE id = 4";
 int rowsAffected = statement.executeUpdate(query);
 System.out.println("Удалено строк: " + rowsAffected);

 statement.close();
 connection.close();
 } catch (SQLException e) {
 e.printStackTrace();
 }
 }
}

Результат выполнения

Удалено строк: 1

Упражнения

Упражнение 1: Вставка данных в таблицу

Напишите программу, которая подключается к базе данных и выполняет SQL-запрос для вставки новой записи в таблицу products. Данные для вставки: ID = 1, Название = "Телефон", Цена = 599.99.

Решение:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class InsertProductExample {
 public static void main(String[] args) {
 String url = "jdbc:mysql://localhost:3306/mydatabase";
 String user = "root";
 String password = "password";

 try {
 Connection connection = DriverManager.getConnection(url, user, password);
 Statement statement = connection.createStatement();
 String query = "INSERT INTO products (id, name, price) VALUES (1, 'Телефон', 599.99)";
 int rowsAffected = statement.executeUpdate(query);
 System.out.println("Вставлено строк: " + rowsAffected);

 statement.close();
 connection.close();
 } catch (SQLException e) {
 e.printStackTrace();
 }
 }
}

Объяснение: Программа подключается к базе данных и выполняет запрос на вставку новой записи в таблицу products. Количество вставленных строк выводится в консоль.

Упражнение 2: Обновление данных в таблице

Напишите программу, которая подключается к базе данных и выполняет SQL-запрос для обновления цены продукта с ID = 1 на 499.99.

Решение:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class UpdateProductPriceExample {
 public static void main(String[] args) {
 String url = "jdbc:mysql://localhost:3306/mydatabase";
 String user = "root";
 String password = "password";

 try {
 Connection connection = DriverManager.getConnection(url, user, password);
 Statement statement = connection.createStatement();
 String query = "UPDATE products SET price = 499.99 WHERE id = 1";
 int rowsAffected = statement.executeUpdate(query);
 System.out.println("Обновлено строк: " + rowsAffected);

 statement.close();
 connection.close();
 } catch (SQLException e) {
 e.printStackTrace();
 }
 }
}

Объяснение: Программа подключается к базе данных и выполняет запрос на обновление цены продукта с ID = 1. Количество обновленных строк выводится в консоль.

Категория: Java | Просмотров: 81 | Добавил: Admin | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: