본문 바로가기

데이터베이스(DB)/JDBC
[JDBC] 데이터 수정

//데이터 수정

- 자바를 통해 DBMS에 저장된 데이터를 수정한다.

- UPDATE를 하는 쿼리를 준비할 때, INSERT와 비슷하게 원하는 값을 ? 로 넣어두고 추후에 값을 설정할 수 있다.
    ~ String sql ="UPDATE NOTICE SET TITLE = ?, CONTENT = ? WHERE WRITER_ID = 'sorrel012'"; 
    ~ PreparedStatement st= con.prepareStatement(sql);
    ~ st.setString(?의 순서 - 1부터 시작, 넣을 데이터);

※st.set자료형 (setInt, setString...)

- INSERT와 마찬가지로 PreparedStatement 를 사용할 경우 st.executeQuery()가 아닌 st.executeUpdate를 사용한다.


package ex1;

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

public class Program4 {

	public static void main(String[] args) throws ClassNotFoundException, SQLException {

		String title = "주말 경기";
		String content = "마요르카, 도르트문트. 맨시티 경기가 거의 연달아 있습니다. 잠을 잘 수 없습니다..";
				
		
		String url = "jdbc:oracle:thin:@localhost:1521/xe";
		String sql = "UPDATE NOTICE SET TITLE = ?, CONTENT = ? WHERE WRITER_ID = 'sorrel012'";
		
		Class.forName("oracle.jdbc.driver.OracleDriver");
		Connection con = DriverManager.getConnection(url, "SORREL", "");
		PreparedStatement st= con.prepareStatement(sql);
		
		st.setString(1, title);
		st.setString(2, content);
		
		int result = st.executeUpdate();
		
		System.out.println(result);
		
		st.close();
		con.close();
		
	} //main
	
}

'데이터베이스(DB) > JDBC' 카테고리의 다른 글

[JDBC] CRUD  (0) 2023.02.25
[JDBC] 데이터 삭제  (0) 2023.02.25
[JDBC] 데이터 입력  (0) 2023.02.25
[JDBC] 트랜잭션 처리  (0) 2023.02.24
[JDBC] 데이터 조회  (0) 2023.02.24