290570
24.06.07 본문
#DB 수정 명령어
update 테이블명 set 컬럼1=값1, 컬럼2=값2, ... [where 조건식];
ex)모든 학생의 국어점수는 100점, 영어점수는 50점으로 변경
update Student set kor=100, eng=50;
ex) 홍길동 학생의 국어 점수를 100점으로 변경
update student set kor = 100 where name = '홍길동';
#commit - 작업 반영 / rollback - 작업 취소
*DB에 변경이 있는 명령 (insert, update, delete)를 실행한 후
반드시 commit, rollback을 해야 함
#DB 레코드 삭제 명령어
delete 테이블명 [where 조건식];
ex) student 테이블의 모든 레코드 삭제
delete student;
ex) student 테이블로부터 학생이름이 '홍길동'인 레코드 삭제
delete student where name = '홍길동';
#상품관리 시스템을 위한 상품테이블 만들기
상품번호, 상품명, 수량, 가격
create table goods( no number primary key, item varchar2(20), qty number, price number );
#insertGoods는 왜 int를 반환??
insertGoods 메소든느 새로운 레코드를 추가하기위하여
executeUpdate 메소드를 실행하게 된다
이때 executeUpdate는 성공적으로 명령을 실행한 건수를 반환하는데 insertGoods 메소드를
호출하는 쪽에서는 레코드추가에 성공했는지 판별할 필요가 있기때문에
int를 반환하도록 한다
#stmt.executeUpdate(sql) / stmt.executeQuery(sql) 차이
int re = stmt.executeUpdate(sql)
데이터베이스 변동이 있는 명령 실행할때 (레코드 추가, 수정, 삭제 / insert, update, delete)
성공적으로 명령을 수행한 레코드 수 반환
ResultSet rs = stmt.executeQuery(sql)
데이터베이스 내용 조회 시 조회한 결과 ResultSet으로 반환