Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- html/css
- 자바스크립트심화
- 개발일기
- 정보처리기사실기
- 딥러닝
- 자바스크립트
- 컴퓨터비전
- 정보처리기사필기
- c언어
- 상속
- 디버깅
- 머신러닝
- 중학수학
- JSP/Servlet
- 컴퓨터구조
- 중학1-1
- SQL
- 데이터분석
- 오블완
- JSP
- 혼공머신
- 티스토리챌린지
- 문자와식
- 자바 실습
- 자바
- 데이터베이스
- CSS
- 연습문제
- JDBC
- 파이썬
Archives
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
JDBC 프로그래밍 10 - 연습문제 실습편 문제 풀기 1 : 문제 1~7번 본문
실습문제가 8문제나 되지만 하나씩 풀어보겠다.
연습문제 실습편 문제 풀기
문제 1번
윈도우 PC에서 MySQL Workbench를 이용하여 bookdb라는 데이터베이스를 생성하라.
bookdb가 만들어진 것을 확인하려면 Navigator에서 새로 고침을 하면 된다. 이렇게 만들어진 것을 볼 수 있다.
문제 2번
MySQL Workbench를 이용하여 bookdb 데이터베이스에 다음과 같은 테이블 구조를 갖는 book 테이블을 생성하라. Primay key는 id로 하라.
테이블이 만들어진 것을 모두 확인했다. book 테이블이 생성되고, id가 Primary Key로 설정된 상태이다.
문제 3번
위에서 생성한 테이블에 다음과 같은 레코드를 추가하는 SQL 문을 작성하고 MySQL Workbench를 이용하여 레코드를 추가하라.
book 테이블에 책 정보가 잘 추가되었다.
문제 4번
MySQL Workbench를 이용하여 3번에서 추가한 레코드를 모두 삭제하라.
문제 5번
3번의 레코드를 자바 프로그램에서 추가하도록 프로그램을 작성하라.
코드 설명
- Connection 객체
- 데이터베이스와 연결을 관리
- DriverManager.getConnection()을 사용하여 bookdb 데이터베이스와 연결한다
- PreparedStatement 객체
- SQL 문을 미리 준비하고 여러 번 실행 가능
- ?로 표시된 부분에 값을 설정하여 각 레코드를 추가한다.
- setInt와 setString 메서드
- SQL 문의 ?를 채우기 위해 사용된다.
- 첫 번째 레코드부터 순차적으로 데이터를 설정하고 executeUpdate()를 호출하여 데이터를 추가
- 예외 처리
- SQLException을 캐치하여 오류 발생 시 메시지를 출력
book 테이블을 확인해 보면 조금 전에 삭제된 정보가 다시 생겼음을 볼 수 있다.
문제 6번
책의 title이 "Pride and Prejudice"인 레코드의 레코드를 찾아 title을 "Pride& Prejudice"로 author를 "제인 오스틴"으로 수정하는 자바 프로그램을 작성하라.
코드 설명
- Connection 객체
- DriverManager.getConnection()을 사용하여 bookdb 데이터베이스와 연결.
- PreparedStatement 객체
- SQL의 UPDATE 문을 실행하기 위해 사용.
- ?를 사용하여 동적 값을 설정.
- SET title = ?와 SET author = ?를 통해 새로운 값을 지정하고, WHERE title = ? 조건으로 특정 레코드만 수정.
- setString 메서드
- ?에 값을 채워 넣는다.
- 첫 번째는 새로운 title 값, 두 번째는 새로운 author 값, 세 번째는 조건에 사용할 기존 title 값.
- executeUpdate 메서드
- SQL 실행 후 수정된 레코드 수를 반환.
- 반환된 값이 1 이상이면 성공 메시지를 출력, 그렇지 않으면 해당 레코드가 없음을 출력.
- 예외 처리
- SQLException을 캐치하여 오류 발생 시 메시지를 출력.
이제 MySQL에서 결과를 확인해 보겠다.
결과 확인하기
MySQL에서 이 코드를 작성한 후 자바 코드에서 실행하니 다음과 같은 메시지가 뜬다.
이미 앞에서 수정했으므로 수정할 필요가 없다는 뜻이다. 조회하면 다음과 같이 수정이 된 것을 볼 수 있다.
제목과 작가 이름이 수정되었다..
문제 6번
6번에서 수정한 레코드를 찾아서 삭제하는 자바 프로그램을 작성하라.
코드 설명
- Connection 객체
- DriverManager.getConnection()으로 bookdb 데이터베이스와 연결.
- PreparedStatement 객체
- SQL의 DELETE 문을 실행하기 위해 사용.
- ?에 조건으로 사용할 값을 동적으로 채운다.
- setString 메서드
- ?에 삭제 조건으로 사용할 title 값을 채운다.
- executeUpdate 메서드
- SQL 실행 후 삭제된 레코드 수를 반환.
- 반환된 값이 1 이상이면 성공 메시지를 출력, 그렇지 않으면 해당 레코드가 없음을 출력.
- 예외 처리
- SQLException을 캐치하여 오류 발생 시 메시지를 출력.
한 개의 개체가 삭제되었다.
학습을 마치고
문제가 계속 이어져서 그냥 한 번에 모두 풀어보았다. 자바 코드로 작성하는 건 조금 어려웠지만 풀만 했다. 이제 마지막 문제만 풀고 자바로 하는 JDBC 공부는 여기서 마치려고 한다.
'프로그래밍 언어 > 자바' 카테고리의 다른 글
JDBC 프로그래밍 11 - 연습문제 실습편 문제 풀기 2 : 문제 8번 (0) | 2024.12.14 |
---|---|
JDBC 프로그래밍 9 - 연습문제 이론편 문제 풀기 (1) | 2024.12.14 |
JDBC 프로그래밍 8 - 단원 마무리 및 도전 문제 풀기 2 : 코드 수정 및 결과 학인하기 (0) | 2024.12.14 |
JDBC 프로그래밍 7 - 단원 마무리 및 도전 문제 풀기 1 : 데이터베이스로 사진 저장하고 추출하기 (1) | 2024.12.14 |
JDBC 프로그래밍 6 - 자바의 JDBC 프로그래밍 3 : 데이터 변경 (2) | 2024.12.14 |