웹개발 교육/Java

[39일] JDBC (3) - 테이블 행 추가

2022. 9. 21. 15:39

테이블에 행을 추가하는 방법을 알아보자. 이전에 Oracle을 할 때 sungjuk 테이블을 생성했다.

이 테이블에 행을 추가해볼 것이다.

 

명령 프롬프트로 먼저 sungjuk 테이블을 조회해보면

이렇게 나온다.

 

이제 이클립스에서 jdbc.sql 파일을 하나 만들자

.sql에서 작성한 명령어를 복사해서

package jdbc0921;

import java.sql.Connection;
import java.sql.DriverManager;

public class Test02_insert {

	public static void main(String[] args) {
		// sungjuk 테이블 행 추가 연습
		
		try {
			String url = "jdbc:oracle:thin:@localhost:1521:xe";  //127.0.0.1
			String user = "system";
			String password = "1234";
			String driver = "oracle.jdbc.driver.OracleDriver";  //ojdbc8.jar
			Class.forName(driver);
			Connection con = DriverManager.getConnection(url, user, password);
			
			System.out.println("오라클 DB 서버 연결 성공!!");
			
			//4) SQL 작성
			//-> 주의사항) SQL 종결문자 ; 를 쓰면 오류남
			StringBuilder sql = new StringBuilder();
			sql.append(" INSERT INTO sungjuk(sno, uname, kor, eng, mat, addr, wdate)");
			sql.append(" VALUES (sungjuk_seq.nextval, '손흥민', 99, 98, 97, 'Seoul', sysdate)");
			//System.out.println(sql.toString());
			
			//5) SQL 형식으로 변환
			
			//6) SQL문 실행
			
		} catch (Exception e) {
			System.out.println("실패 : " + e);
		}//end

	}//main() end
}//class end

.append()에 넣어준다.

 

여기서 주의할 점은

sql.append("insert into sungjuk(sno, uname, kor, eng, mat, addr, wdate)");
sql.append("values (sungjuk_se.nextval, '손흥민', 99, 98, 97, 'Seoul', sysdate)");

이렇게 작성해서 출력해보면

밑줄친 부분이 붙어서 나온다. 이 경우 명령어 구분이 되지 않는다.

따라서 아래와 같이 맨 앞 한칸을 띄어서 작성하자. 그리고 명령어를 알아보기 좋게 대문자로 할 것이다.

sql.append(" INSERT INTO sungjuk(sno, uname, kor, eng, mat, addr, wdate)");
sql.append(" VALUES (sungjuk_se.nextval, '손흥민', 99, 98, 97, 'Seoul', sysdate)");

 

이제 SQL 형식으로 변환하여 실행하는 과정이 남았다. 변환 및 실행은 다음과 같이 한다.

//5) SQL 형식으로 변환
PreparedStatement pstmt = con.prepareStatement(sql.toString());

//6) SQL문 실행
int result = pstmt.executeUpdate();  //INSERT, UPDATE, DELETE문 실행

executeUpdate()는 insert, update, delete한 행의 갯수를 int로 리턴한다.

 

 

package jdbc0921;

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

public class Test02_insert {

	public static void main(String[] args) {
		// sungjuk 테이블 행 추가 연습
		
		try {
			String url = "jdbc:oracle:thin:@localhost:1521:xe";  //127.0.0.1
			String user = "system";
			String password = "1234";
			String driver = "oracle.jdbc.driver.OracleDriver";  //ojdbc8.jar
			Class.forName(driver);
			Connection con = DriverManager.getConnection(url, user, password);
			
			System.out.println("오라클 DB 서버 연결 성공!!");
			
			//4) SQL 작성
			//-> 주의사항) SQL 종결문자 ; 를 쓰면 오류남
			StringBuilder sql = new StringBuilder();
			sql.append(" INSERT INTO sungjuk(sno, uname, kor, eng, mat, addr, wdate)");
			sql.append(" VALUES (sungjuk_seq.nextval, '손흥민', 99, 98, 97, 'Seoul', sysdate)");
			//System.out.println(sql.toString());
			
			//5) SQL 형식으로 변환
			PreparedStatement pstmt = con.prepareStatement(sql.toString());
			
			//6) SQL문 실행
			int cnt = pstmt.executeUpdate();  //INSERT, UPDATE, DELETE문 실행
			
			System.out.println("실행결과 : " + cnt);
			
		} catch (Exception e) {
			System.out.println("실패 : " + e);
		}//end

	}//main() end
}//class end

명령 프롬프트에서 테이블을 조회해보면 행이 추가된 것을 볼 수 있다. (select * from sungjuk)

 

콘솔창에서 테이블을 보기 좋게 조회하려면

--오라클 콘솔창 예쁘게 출력
set linesize 1000;
col uname for a10;  --col 칼럼명 for 20자
col addr for a10;   --col 칼럼명 for 20자

명령 프롬프트에 위와 같이 입력한다.

'웹개발 교육 > Java' 카테고리의 다른 글

[39일] JDBC (5) - 테이블 행 삭제  (0) 2022.09.21
[39일] JDBC (4) - 테이블 행 수정  (0) 2022.09.21
[39일] JDBC (2) - Oracle DB 연결  (0) 2022.09.21
[39일] JDBC (1) - Dynamic Web Project 생성 및 오라클 DB 연동  (0) 2022.09.21
[39일] Java (52) - 성적 프로그램(파일 입출력)  (0) 2022.09.21
'웹개발 교육/Java' 카테고리의 다른 글
  • [39일] JDBC (5) - 테이블 행 삭제
  • [39일] JDBC (4) - 테이블 행 수정
  • [39일] JDBC (2) - Oracle DB 연결
  • [39일] JDBC (1) - Dynamic Web Project 생성 및 오라클 DB 연동
ewok
ewok
ewok
기록장
ewok
전체
오늘
어제
  • 분류 전체보기
    • 웹개발 교육
      • HTML
      • CSS
      • JavaScript
      • Database
      • Java
      • jQuery
      • Ajax
      • Bootstrap
      • jsp
      • Spring
      • MyBatis
      • 프로젝트
    • JAVA
    • SpringBoot
      • 기초
      • AWS
      • 개인프로젝트
    • Spring Security
    • JPA
    • 테스트코드
    • Error
    • CS
      • 컴퓨터 구조
      • 이산수학
    • 알고리즘
      • 정리
      • Java
    • SQL
    • 자격증
      • SQLD
      • 정보처리기사
    • Git

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • SQLD
  • org.springframework.beans.factory.UnsatisfiedDependencyException
  • 버전 관리
  • git bash
  • branch
  • 브랜치
  • this
  • 생성자
  • sqld 합격
  • org.hibernate.tool.schema.spi.CommandAcceptanceException
  • sqld 자격증
  • GIT
  • 노랭이
  • merge commit
  • base

최근 댓글

최근 글

hELLO · Designed By 정상우.
ewok
[39일] JDBC (3) - 테이블 행 추가
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.