ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [MySQL] 트랜젝션, 세션, LOCK, DDL(CREATE, ALTER, RENAME, TRUNCATE , DROP)
    공부일지 2024. 4. 2. 12:36

     

    [트랜젝션] 291page

    : 명령어 수행 중 오류로 인해 한쪽만 수행되지 않도록 두 개를 묶어주는 것.

    (a라는 사람한테 100만원을 빼고 b라는 사람한테 100만원을 이체하기 전에 오류가 나면 100만원이 날라가기 때문에 둘 다 수행되거나 둘 다 안되도록 묶어주는 것.)

     

    TCL

    : 트랜젝션을 제어할 때 사용하는 명령어

     

    ROLLBACK 295page

    : 트랜젝션 작업의 수행을 취소할 때 사용하는 명령어 (DML명령어에서만 사용 가능)

     

    COMMIT

    : 트랜잭션 명령어를 데이터베이스에 영구히 반영할 때 사용하는 명령어 (DML명령어에서만 사용 가능)

     

     

     

    [세션] 298page

    : 데이터베이스 접속을 시작으로 여러 관련 작업을 수행한 후 접속을 종료하기까지의 전체 기간

     

    읽기 일관성의 중요성 299page

    : 어떤 특정 세션에서 테이블의 데이터를 변경 중일 때, 그 외 다른 세션에서는 데이터의 변경이 확인되기 전까지 현재 진행 중인 변경과 무관한 본래의 데이터를 보여 주는 특성.

     

    다른 세션에서는 COMMIT 완료 후 변경된 데이터가 확인됌.

     

     

     

    [LOCK] 303page

    : 트랜젝션이 완료 되기 전까지(COMMIT, ROLLBACK 전까지), 조작 중인 데이터를 다른 세션은 조작할 수 없도록 접근을 보류 시키는 것

     

    데이터 조작이 완료될 때까지 기다리는 현상을 HANG()이라 한다.

     

    LOCK의 종류

    - 행 레벨 록

    - 테이블 레벨 록

     

     

     

    [데이터 정의어(DDL)] 311page

    명령어를 수행하자마자 바로 반영됌, 자동 커밋되므로 롤백이 불가함.

     

    CREATE

    : 객체를 생성하는데 사용하는 명령어, 주로 테이블을 만들 때 사용

     

    ALTER 317page

    : 테이블을 변경하는 명령어

    : ALTER TABLE (테이블 명) ADD (추가할 열 이름과 자료형)

     

    RENAME 321page

    : 테이블 이름을 변경하는 명령어

    : ALTER TABLE (테이블 명) RENAME COLUMN (바꿀 컬럼명) TO (바꿀 컬럼의 새이름)

     

    TRUNCATE

    : 특정 테이블의 모든 데이터를 삭제하는 명령어

    : TRUNCATE TABLE (테이블 명)

     

    DROP

    : 테이블을 삭제하는 명령어

    : DROP TABLE (테이블 명)

     

    * TRUNCATEDELETE문의 차이점

    DML명령어인 DELETE문은 ROLLBACKCOMMIT이 가능하지만, TRUNCATE불가함

     

     

     

    [데이터 사전] 327page

    사용자 테이블 데이터베이스를 통해 관리할 데이터를 저장하는 테이블

    데이터 사전 데이터베이스를 구성하고 운영하는 데 필요한 모든 정보를 저장하는 특수한 테이블. 데이터베이스가 생성되는 시점에 자동 생성.

     

     

Designed by Tistory.