728x90
반응형

관리구문
DML(Data Manipulation Language)
- INSERT, UPDATE, DELETE, MERGE
- Commit or Rollback 필수
INSERT(삽입)
- 테이블에 행을 삽입할 때
- 작성하지 않으면 NULL 입력
INSERT INTO TABLE1 VALUE(V1, V2, ...);
INSERT INTO TABLE1(COL1, COL2, ...) VALUE(V1, V2, ...);
UPDATE(수정)
- 데이터를 수정, 컬럼 단위 수행
UPDATE TABLE1
SET COL1 = 11220
WHERE 조건;
-------<다중>-------
UPDATE TABLE1
SET COL1 = 11220, COL2 = 5500
WHERE 조건;
DELETE(삭제)
- 데이터를 삭제할 때, 행 단위 수행
DELETE TABLE1
WHERE 조건;
MERGE(병합)
- 데이터 병합 // INSERT, UPDATE, DELETE 동시 수행
MERGE INTO TABLE1
USING 참조_TABLE
ON (연결 조건)
WHEN MATCHED THEN
UODATE
SET 수정 내용
WHEN NOT MATCHED THEN
INSERT VALUE(삽입 내용)
TCL(Transaction Control Language)
- COMMIT, ROLLBACK
- DML에 의한 결과를 트랜잭션 별로 제어
COMMIT
- 데이터 조작 후 이상이 없을 경우 데이터 저장
- COMMIT을 실행하면 이전에 수행된 DML은 모두 저장되며 되돌리기 불가능
ROLLBACK
- 변경사항을 취소
- 최종 COMMIT 지점 혹은 SAVEPOINT 지점으로 돌아감
트랜잭션 특성
- 원자성(Atomicity) : 트랜잭션 연산은 모두 성공적으로 실행되던지, 전혀 실행되지 않은 상태로 남아 있어야 함
- 일관성(Consistency) : 트랜잭션 실행 전 오류가 없다면 실행 후에도 없어야 함
- 고립성(Isolation) : 트랜잭션 실행 중 다른 트랜잭션의 영향을 받아 오류를 만들어서는 안됨
- 지속성(Durability) : 트랜잭션이 성공적으로 완료되면 갱신한 데이터베이스 내용이 영구적으로 저장
DDL(Data Definition Language)
- CREATE, ALTER, DROP, TRUNCATE
CREATE
- 객체를 생성함(테이블이나 인덱스...)
- 테이블 생성 시 소유자 명시 가능
CREATE TABLE [소유자]테이블명
(COL1 데이터타입 [DEFAULT 기본값] [제약조건]);
- 데이터 타입(CHAR(n), VARCAHR2(n), NUMBER(p,s), DATE)
ALTER
- 테이블 구조 변경, 컬럼순서는 변경 불가
-------<컬럼 추가>-------
ALTER TABLE 테이블명 ADD 컬럼명 데이터타입 [DEFAULT] [제약조건];
-------<컬럼 속성 변경>-------
ALTER TABLE 테이블명 MODIFY(컬럼명 DEFAULT 값)
-------<컬럼 삭제>-------
ALTER TABLE 테이블명 DROP COLUMN COL1;
DROP
- 객체 삭제
- PURGE 삭제 시 완전 삭제(휴지통에 없음)
DROP TABLE 테이블명 [PURGE];
TRUNCATE
- 구조만 남기고 데이터 삭제(AUTO COMMIT), 휴지통에 남지 않음
TRUNCATE TABLE 테이블명;
DCL(Data Control Language)
- GRANT, REVOKE
- ROLE을 통해 권한을 묶을 수 있음
GRANT
- 테이블에 대한 권한 부여
- 동시에 여러 유저에게 권한 부여 가능, 여러 권한 부여 가능, 여러 객체는 불가
GRANT 권한 ON 테이블명 TO 유저;
REVOKE
- 권한 회수, 동시에 여러 권한 회수 가능, 여러 유저로 부터 가능
REVOKE 권한 ON 테이블명 FROM 유저;
참고
728x90
반응형
728x90
반응형

관리구문
DML(Data Manipulation Language)
- INSERT, UPDATE, DELETE, MERGE
- Commit or Rollback 필수
INSERT(삽입)
- 테이블에 행을 삽입할 때
- 작성하지 않으면 NULL 입력
INSERT INTO TABLE1 VALUE(V1, V2, ...);
INSERT INTO TABLE1(COL1, COL2, ...) VALUE(V1, V2, ...);
UPDATE(수정)
- 데이터를 수정, 컬럼 단위 수행
UPDATE TABLE1
SET COL1 = 11220
WHERE 조건;
-------<다중>-------
UPDATE TABLE1
SET COL1 = 11220, COL2 = 5500
WHERE 조건;
DELETE(삭제)
- 데이터를 삭제할 때, 행 단위 수행
DELETE TABLE1
WHERE 조건;
MERGE(병합)
- 데이터 병합 // INSERT, UPDATE, DELETE 동시 수행
MERGE INTO TABLE1
USING 참조_TABLE
ON (연결 조건)
WHEN MATCHED THEN
UODATE
SET 수정 내용
WHEN NOT MATCHED THEN
INSERT VALUE(삽입 내용)
TCL(Transaction Control Language)
- COMMIT, ROLLBACK
- DML에 의한 결과를 트랜잭션 별로 제어
COMMIT
- 데이터 조작 후 이상이 없을 경우 데이터 저장
- COMMIT을 실행하면 이전에 수행된 DML은 모두 저장되며 되돌리기 불가능
ROLLBACK
- 변경사항을 취소
- 최종 COMMIT 지점 혹은 SAVEPOINT 지점으로 돌아감
트랜잭션 특성
- 원자성(Atomicity) : 트랜잭션 연산은 모두 성공적으로 실행되던지, 전혀 실행되지 않은 상태로 남아 있어야 함
- 일관성(Consistency) : 트랜잭션 실행 전 오류가 없다면 실행 후에도 없어야 함
- 고립성(Isolation) : 트랜잭션 실행 중 다른 트랜잭션의 영향을 받아 오류를 만들어서는 안됨
- 지속성(Durability) : 트랜잭션이 성공적으로 완료되면 갱신한 데이터베이스 내용이 영구적으로 저장
DDL(Data Definition Language)
- CREATE, ALTER, DROP, TRUNCATE
CREATE
- 객체를 생성함(테이블이나 인덱스...)
- 테이블 생성 시 소유자 명시 가능
CREATE TABLE [소유자]테이블명
(COL1 데이터타입 [DEFAULT 기본값] [제약조건]);
- 데이터 타입(CHAR(n), VARCAHR2(n), NUMBER(p,s), DATE)
ALTER
- 테이블 구조 변경, 컬럼순서는 변경 불가
-------<컬럼 추가>-------
ALTER TABLE 테이블명 ADD 컬럼명 데이터타입 [DEFAULT] [제약조건];
-------<컬럼 속성 변경>-------
ALTER TABLE 테이블명 MODIFY(컬럼명 DEFAULT 값)
-------<컬럼 삭제>-------
ALTER TABLE 테이블명 DROP COLUMN COL1;
DROP
- 객체 삭제
- PURGE 삭제 시 완전 삭제(휴지통에 없음)
DROP TABLE 테이블명 [PURGE];
TRUNCATE
- 구조만 남기고 데이터 삭제(AUTO COMMIT), 휴지통에 남지 않음
TRUNCATE TABLE 테이블명;
DCL(Data Control Language)
- GRANT, REVOKE
- ROLE을 통해 권한을 묶을 수 있음
GRANT
- 테이블에 대한 권한 부여
- 동시에 여러 유저에게 권한 부여 가능, 여러 권한 부여 가능, 여러 객체는 불가
GRANT 권한 ON 테이블명 TO 유저;
REVOKE
- 권한 회수, 동시에 여러 권한 회수 가능, 여러 유저로 부터 가능
REVOKE 권한 ON 테이블명 FROM 유저;
참고
728x90
반응형