ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 13일차 - SQL (데이터 조작, DML) (2)
    CS지식/데이터베이스 2021. 5. 15. 22:36

    오늘은 저번시간에 이어 데이터를 조작하는데 쓰이는 DML의 남은 부분에 대해 배웠다.

    새로운 데이터 삽입과 데이터 수정, 데이터 삭제를 SQL을 통해 어떻게 하는지 알 수 있었다.

     

     

     

    1. 데이터 삽입 : INSERT문

    기존에 있는 테이블에 새로운 데이터를 삽입하고자 하려면 INSERT문을 사용하면 된다.

    INSERT INTO 테이블_이름[(속성리스트)] VALUES (속성값_리스트);

    INTO키워드와 함께 새로운 데이터를 삽입할 테이블의 이름과 속성의 이름을 입력하면 되고 삽입하고자하는 데이터는 VALUES 뒤에 입력하면 된다.

    여기서 속성리스트는 생략이 가능하다.

    만약 속성의 이름(속성리스트)를 생략한다면 테이블을 정의할 때 지정한 속성의 순서대로 값이 삽입된다.

     

    예를 들어, 제품명, 단가, 수량을 속성으로 가지고 있는 제품테이블이 있다고 생각해보자.

    여기에 새로운 데이터 (XX, 1000, 3)을 삽입하고자 한다면

    INSERT INTO 제품(제품명, 단가, 수량) VALUES (XX, 1000, 3) ;을 해도 되지만

    INSERT INTO 제품 VALUES (XX, 1000, 3) ;을 해도 된다는 것이다.

     

    또한, INTO절의 속성 이름과 VALUES절의 속성 값은 순서대로 일대일 대응되어야 한다.

     

    INSERT문에서는 SELECT문을 이용해 다른 테이블에서 검색한 데이터를 삽입할 수 있는 부속질의문을 이용한 데이터 삽입이 가능하다.

    예를 들어, 기존에 존재하는 제품테이블에서 제조업체가 특정업체인 제품에 대한 정보를 가져와서 특정제품의 테이블에 삽입하고 싶다면

    INSERT INTO 특정제품(제품명, 제고량, 단가)
    SELECT 제품명, 재고량, 단가
    FROM 제품 WHERE 제조업체 = '특정업체' ;

    위와 같이 SQL을 작성하면 된다.

     

     

    2. 데이터 수정 : UPDATE문

    테이블에 저장된 튜플에서 특정 속성 값을 수정하기 위해서는 UPDATE문을 사용한다.

    UPDATE 테이블 이름
    SET 속성_이름1: 값 1, 속성_이름2: 값 2, ...
    [WHERE 조건] ;

    SET키워드 다음에 속성 값을 어떻게 수정할 것인지를 지정해주고

    어떠한 조건을 만족하는 튜플의 값만 수정하기를 원한다면 WHERE절에 조건을 적으면 된다.

    만약, WHERE절을 생략한다면 테이블에 존재하는 모든 튜플을 대상으로 수정이 된다.

     

     

    3. 데이터 삭제 : DELETE문

    테이블에 저장된 데이터를 삭제하고자 할 때에는 DELETE문을 사용한다.

    DELETE FROM 테이블_이름 [WHERE_조건] ;

    DELETE문은 튜플단위로 삭제가 이루어지는데 WHERE절에 제시한 조건을 만족하는 튜플만 삭제가 된다.

    만약, WHERE절을 생략한다면 테이블 내의 모든 튜플이 삭제가 된다.

     

    우리는 데이터 정의어인 DDL에서 DROP을 배운 적이 있다.

    DROP은 테이블 자체를 삭제에 데이터베이스 내에서 없애는 것이지만

    DELETE문을 통해 테이블의 전체 튜플을 삭제하더라도 빈 테이블은 데이터베이스에 남아있다.

     


    오늘로 백현미 교수님의 강좌를 완강했다!!

    하지만, 완강했다고 모든 것이 나의 것이 된 것이 아니고 완강했다고 데이터베이스를 마스터한 것이 아니라고 생각한다.

    이제는 지금까지 배운 내용들을 복습하면서 조금 더 심화된 내용을 공부해가면서 데이터베이스를 완전히 나의 것으로 만들려고 노력할 것이다.

    댓글

Designed by Tistory.