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 |
댓글