Выполнение команд. Метод executeUpdate

Для взаимодействия с базой данных приложение отправляет серверу MySQL команды на языке SQL. Чтобы выполнить команду, вначале необходимо создаеть объект Statement.

Для его создания у объекта Connection вызывается метод createStatement():

Statement statement = conn.createStatement();

Для выполнения команд SQL в классе Statement определено три метода:

Рассмотрим метод executeUpdate(). В качестве параметра в него передается собственно команда SQL:

int executeUpdate("Команда_SQL")

Ранее была создана база данных store, но она пустая, в ней нет таблиц и соответственно данных. Создадим таблицу и добавим в нее начальные данные:

import java.sql.*;

public class Program{
      
    public static void main(String[] args) {
         try{
			 String url = "jdbc:mysql://localhost/store?serverTimezone=Europe/Moscow&useSSL=false";
			 String username = "root";
			 String password = "password";
			 Class.forName("com.mysql.cj.jdbc.Driver").getDeclaredConstructor().newInstance();
			 // команда создания таблицы
			 String sqlCommand = "CREATE TABLE products (Id INT PRIMARY KEY AUTO_INCREMENT, ProductName VARCHAR(20), Price INT)";
			 
			 try (Connection conn = DriverManager.getConnection(url, username, password)){
				 
				Statement statement = conn.createStatement();
				// создание таблицы
				statement.executeUpdate(sqlCommand);
				
				System.out.println("Database has been created!");
			 }
		 }
		 catch(Exception ex){
			 System.out.println("Connection failed...");
			 
			 System.out.println(ex);
		 }
    }
}

То есть в данном случае мы выполняем команду
CREATE TABLE products (Id INT PRIMARY KEY AUTO_INCREMENT, ProductName VARCHAR(20), Price INT)
 которая создает таблицу Products с тремя столбцами:
Id - индентификатор стоки,
ProductName - строковое название товара и
Price - числовая цена товара.

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

Statement statement = conn.createStatement();

statement.executeUpdate("Команда_SQL1");
statement.executeUpdate("Команда_SQL2");
statement.executeUpdate("Команда_SQL3");

Назад  Содержание  Вперед