스파르타 부트캠프(spring)

[내일배움캠프] 자바 Spring_SQL(2)삽입, 수정, 삭제_230110

wkdwldP 2023. 1. 10. 23:39

2일차: 데이터 변경

 

INSERT문

: 데이터를 1행씩을 삽입해야 하는 경우 INSERT 구문을 사용.

 

INSERT문 기본형태

 

     INSERT INTO 테이블명 (컬럼1, 컬럼2, 컬럼3)
   

     VALUES
 (데이터1, 데이터2, 데이터3)
  • 위와같은 방식으로 데이터를 삽입할때에는 나열된 컬럼과 값의 타입, 갯수가 일치하여야 한다.(불일치 시 에러 발생)

 

INSERT문 컬럼명 생략

     INSERT INTO 테이블명


     VALUES (데이터1, 데이터2, 데이터3)
  • 모든 칼럼에 해당하는 데이터를 한번에 삽입할 예정이라면 위와같이 컬럼명을 생략가능.
  • 컬럼의 타입과 데이터의 형태가 맞는지, 컬럼의 순서와 데이터의 순서가 일치하는지 유의.
    그리고 위와같은 방식을 사용했을때에는 테이블에 있는 컬럼에 전부 값을 입력해야 함. (그렇지 않다면 '값의 수가 충분하지 않습니다' 라는 에러가 출력.)

 

INSERT INTO SELECT

: SELECT 문으로 데이터를 선택해서 삽입하고 싶은 경우는 INSERT 구문 안에 SELECT 문을 넣어준다.

     INSERT INTO 테이블명 (컬럼1, 컬럼2, 컬럼3)


     SELECT (컬럼1, 컬럼2, 컬럼3)  FROM 테이블 명 WHERE 테이블2 

 

 

UPDATE

: 데이터를 수정 및 변경해야 하는 경우 UPDATE 구문을 사용

 

UPDATE문 기본 형태

 
   UPDATE 
테이블명 



   SET 컬럼1 = 변경할 값, 컬럼2 = 변경할 값


   WHERE  조건;
  • WHERE절에 조건을 명시하지 않을 시 테이블에 있는 전체 데이터의 컬럼 값이 변경.

데이터 변경 시 대처- COMMIT / ROLLBACK

     COMMIT // DB에 바로 반영 --> 이미 COMMIT된 데이터는 ROLLBACK을 해도 복구 X, only DB를 일정 시간 이전으로 되돌                                                          리는 방법 뿐임


    ROLLBACK // 데이터를 잘못 입력했을 경우 DB에 데이터가 COMMIT 되기 전 ROLLBACK

 

 

DELETE

: 테이블에 있는 데이터를 삭제

 

DELETE문 기본 형태

     DELETE FROM 테이블 명 


     WHERE 조건;
  • WHERE절에 조건을 명시하지 않을 시 테이블에 있는 전체 데이터의 컬럼 값이 변경.

 

데이터 변경 실수 시 대처- COMMIT / ROLLBACK

     COMMIT // DB에 바로 반영 --> 이미 COMMIT된 데이터는 ROLLBACK을 해도 복구 X, only DB를 일정 시간 이전으로 되돌                                                          리는 방법 뿐임


     ROLLBACK // 데이터를 잘못 입력했을 경우 DB에 데이터가 COMMIT 되기 전 ROLLBACK
  • commit문을 실행하기 전까지는 변경된 데이터는 현 세션에서만 적용되고 초종 DB가 변경된 상태가 아니다.