일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- java
- DTO
- break
- oracle developer
- DAO
- DATABASE
- 자바
- o(log n)
- oracle db
- C#접근제한자
- java접근제어자
- Oracle SQL Developer
- Oracle
- 메이븐업데이트
- DEFAULT
- 빅오표기법
- O(n)
- C#접근제어자
- C언어 표준 라이브러리
- 데이터베이스
- Vo
- 접근제한자
- 오라클
- JavaSwing
- DB
- 자바연산자
- mvc디자인패턴
- JSP
- DB 제약조건
- sql
성장일기 : 문과생의 개발 여정 (งᐖ)ว ( ᐛ )و
Execute Update 본문
package database;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class J03_ExecuteUpdate {
/*
# pstmt.executeQuery()
- SELECT 문에서만 사용하고 결과로 ResultSet이 나온다
# pstmt.executeUpdate()
- INSERT, UPDATE, DELETE문에 사용하고 결과로 int값이 나온다.
- int값으로는 반영된 행의 개수가 리턴된다.
*/
public static void main(String[] args) {
try (Connection conn = JdbcConnection.getConnection();) {
// 기본키를 넣을떄는 자바쪽에서 시퀀스를 불러 사용한다
String sql1 = "INSERT INTO "
+ "fruits(fruit_id, fruit_name, fruit_price)"
+ " VALUES(fruit_id_seq.nextval,?,?)";
// fruit sequences를 넣어서 이 로직에 문제가 생기지 않도록 한다
// 시퀀스를 사용하여 기본 키 값을 자동으로 생성하고자 할 때 이와 같은 방식으로 SQL 쿼리를 작성
// 이렇게 하면 데이터베이스가 자동으로 고유한 기본 키 값을 생성
try (PreparedStatement pstmt = conn.prepareStatement(sql1)) {
pstmt.setString(1, "Peach");
pstmt.setInt(2, 1500);
// INSERT, UPDATE, DELETE는 executeUpdate()로 실행해야한다
int row = pstmt.executeUpdate();
System.out.println(row + "행이 변경되었습니다..");
}
//여기까지 하나의 테이블(??)이 열렸다 닫히는 것
String sql2 = "UPDATE fruits SET fruit_price = fruit_price + 100"
+ "WHERE fruit_id <150";
try(PreparedStatement pstmt = conn.prepareStatement(sql2)){
int row = pstmt.executeUpdate();
System.out.println(row+"개의 과일 가격이 100원 올랐습니다.");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
'백엔드개발 > JDBC' 카테고리의 다른 글
Meta data (1) | 2023.11.13 |
---|---|
Transaction (0) | 2023.11.13 |
Prepare Statement (0) | 2023.11.13 |
Select QUIZ / DB로부터 모든 사원의 사번/이름/부서명/직책명 읽어 파일형태로 저장하기 / (0) | 2023.11.13 |
JDBC Connection (1) | 2023.11.13 |