본문 바로가기
Backend/JAVA_JDBC

03. JDBC, 행 수정 & 삭제 (update, delete)

by 개발개발빈이 2022. 6. 16.

sungjuk 테이블

○ JDBC 행수정 SQL 작성

    ① SQL작성 : 총점(tot), 평균(aver)구하기

StringBuilder sql=new StringBuilder();
sql.append(" UPDATE sungjuk ");
sql.append(" SET tot=kor+eng+mat, aver=(kor+eng+mat)/3 ");

 

    ② SQL형식으로 변환

PreparedStatement pstmt = con.prepareStatement(sql.toString());

 

    ③ SQL문 실행 : 실행했을 때 행의 개수 반환

int result = pstmt.executeUpdate();

 

    ④ 자원반납 : 순서 주의 (가장 늦게 연거부터 닫기)

pstmt.close();
con.close();

 

○ sungjuk테이블 행수정 전체 소스

import java.sql.*;

public class Test02_update {

    public static void main(String[] args) {

        try {

            String url     ="jdbc:oracle:thin:@localhost:1521:xe";
            String user    ="system";
            String password="1234";
            String driver  ="oracle.jdbc.driver.OracleDriver"; 
            Class.forName(driver);
            Connection con =DriverManager.getConnection(url, user, password);
            System.out.println("오라클 DB 서버 연결 성공");

            StringBuilder sql=new StringBuilder();
            sql.append(" UPDATE sungjuk ");
            sql.append(" SET tot=kor+eng+mat ");
            sql.append(" ,aver=(kor+eng+mat)/3 ");

            PreparedStatement pstmt = con.prepareStatement(sql.toString());
			
            int result = pstmt.executeUpdate();
            if(result==0) {
               System.out.println("행 수정 실패");
			}else {
                System.out.println("행 수정 성공");
            }
            pstmt.close();
            con.close();
			
        } catch (Exception e) {
            System.out.println("오라클 DB 연결 실패 : " + e);
        }
		
    }//main() end

}//class end

 

 

○ JDBC 행삭제 SQL 작성

    - SQL작성 : sno=22인 행 삭제

StringBuilder sql=new StringBuilder();
sql.append(" DELETE FROM sungjuk ");
sql.append(" WHERE sno=22 ");

 

○ sungjuk테이블 행삭제 전체 소스

    - 자바에서 수정,삭제 등 할때는 autocommit이 걸려있어서 rollback이 안되므로 주의

import java.sql.*;

public class Test03_delete {

    public static void main(String[] args) {
	
        try {
            String url     ="jdbc:oracle:thin:@localhost:1521:xe";
            String user    ="system";
            String password="1234";
            String driver  ="oracle.jdbc.driver.OracleDriver"; 
            Class.forName(driver);
            Connection con =DriverManager.getConnection(url, user, password);
            System.out.println("오라클 DB 서버 연결 성공");

            StringBuilder sql=new StringBuilder();
            sql.append(" DELETE FROM sungjuk WHERE sno=22 ");
            PreparedStatement pstmt = con.prepareStatement(sql.toString());
			
            int result = pstmt.executeUpdate();
            if(result==0) {
                System.out.println("행 삭제 실패");
            }else {
                System.out.println("행 삭제 성공");
			}

            pstmt.close();
            con.close();
			
        } catch (Exception e) {
            System.out.println("오라클 DB 연결 실패 : " + e);
        }
		
        System.out.println("END");
		
    }//main() end

}//class end

 

 

댓글