본문 바로가기
개발자 양성과정 필기노트/DB | ORACLE

테이블 복사, INSERT, UPDATE, DELETE, 트랜잭션 , 치환변수

by jono 2021. 9. 13.

DB  ||  DAY11  ||  테이블 복사, INSERT, UPDATE, DELETE, 

                           트랜잭션 , 치환변수


 1. 기존테이블 복사하기 

# 기존테이블과 같은 구조를 가지도록 복사하기

-> 데이터는 복사되지 않는다!

CREATE TABLE 복사본테이블명
AS SELECT *
     FROM 기존테이블명
     WHERE 1=2 ;

 

# 기존테이블의 데이터를 복사하기

INSERT INTO 복사본테이블
   SELECT *
   FROM 기존테이블명

 2. UPDATE 

테이블의 데이터를 수정할 때 사용한다.

UPDATE 테이블명
SET 컬럼 = 값, 컬럼=값 . . .
WHERE . . .

 3. DELETE 

# 해당 행 전체를 삭제한다.

DELETE FROM 테이블이름
WHERE 삭제하고 싶은 행의 조건

# WHERE 절이 없는경우

DELETE FROM 테이블명  //  -> 해당 테이블의 전체 데이터를 삭제한다.

 4. 트랜잭션 

# 개념

  • 하나의 논리적인 작업 단위.
  • 여러 개의 DML이 모여서 하나의 트랜잭션을 구성함.  ( INSERT, UPDATE, DELETE 등 )
  • 하나의 DDL이 하나의 트랜잭션을 구성함. ( CREATE, ALTER, DROP, TRUNCATE 등 )
  • 하나의 DCL이 하나의 트랜잭션을 구성함, ( GRANT, REVOKE 등)

 

# 트랜잭션 제어 명령어

  • COMMIT - DB에 영구히 저장
  • ROLLBACK - 트랜잭션의 처음으로 작업을 되돌리고, 트랜잭션을 종료시킴
  • SAVEPOINT - 트랜잭션 진행중, 되돌아갈 지점을 만드는 명령어
                       트랜잭션 진행중 rollback하면 savepoint로 돌아간다. (rollback to savepoint이름)

 5. 치환변수 

숫자인 경우 &변수명

문자인 경우 '&변수명'

치환변수로 지정하여 값을 응답하는 형태로 테이블을 출력할 수 있다.


 6. 명령어를 스크립트로 저장하기 / 불러오기 

# 저장하기

SAVE 경로 / 경로 / 스크립트명.sql

 

# 불러오기

@/ 경로 / 경로 / 스크립트명.sql

 

INSERT INTO departments
VALUES ( &dept_id , '&dept_name' , &mgr_id , &loc_id )

SAVE /home/oracle/newDept.sql
@/home/oracle/newDept.sql

'개발자 양성과정 필기노트 > DB | ORACLE' 카테고리의 다른 글

ALTER TABLE  (0) 2021.09.28
제약조건  (0) 2021.09.13
SELF JOIN, 서브쿼리  (0) 2021.09.10
그룹함수 , GROUP BY절, HAVING절  (0) 2021.09.07
단일행 함수  (0) 2021.08.25

댓글