이를 위해서는 업데이트를 위해 Java에서 PreparedStatement를 사용해야 합니다. 먼저 테이블을 생성하겠습니다 -
mysql> create table DemoTable( Id int, FirstName varchar(40) ); Query OK, 0 rows affected (0.62 sec)
삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -
mysql> insert into DemoTable values(100,'Chris'); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable values(111,'Mike'); Query OK, 1 row affected (0.18 sec) mysql> insert into DemoTable values(121,'Sam'); Query OK, 1 row affected (0.09 sec)
select 문을 사용하여 테이블의 모든 레코드 표시 -
mysql> select * from DemoTable;
이것은 다음과 같은 출력을 생성합니다 -
+------+-----------+ | Id | FirstName | +------+-----------+ | 100 | Chris | | 111 | Mike | | 121 | Sam | +------+-----------+ 3 rows in set (0.00 sec)
Java 코드는 다음과 같습니다. 업데이트 -
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; public class UpdateFromJava { public static void main(String[] args) { Connection con = null; PreparedStatement ps = null; try { con = DriverManager.getConnection("jdbc :mysql ://localhost :3306/web?" + "useSSL=false", "root", "123456"); String query = "update DemoTable set FirstName=? where Id=? "; ps = con.prepareStatement(query); ps.setString(1, "Tom"); ps.setInt(2, 100); ps.executeUpdate(); System.out.println("Record is updated successfully......"); } catch (Exception e) { e.printStackTrace(); } } }
Java 코드의 출력에 따라 -
Record is updated successfully......
출력 스크린샷은 다음과 같습니다 -
이제 이름 을(를) 확인하겠습니다. 열 이름 값이 'Tom'으로 업데이트되었거나 ID가 100이 아닙니다.
다음은 레코드를 확인하고 다시 표시하는 쿼리입니다 -
mysql> select * from DemoTable;
이것은 다음과 같은 출력을 생성합니다 -
+------+-----------+ | Id | FirstName | +------+-----------+ | 100 | Tom | | 111 | Mike | | 121 | Sam | +------+-----------+ 3 rows in set (0.00 sec)
출력 스냅샷은 다음과 같습니다. 이름 열이 Java-MySQL로 성공적으로 업데이트되었습니다 -