반응형
데이터 정의어(DDL - Data Definition Language)
- 데이를 저장하고 있는 테이블 등의 구조를 생성하고 변경하기 위하여 사용되는 명령어들
- 데이터 정의어가 수행되면 이전 상태로 복귀할 수 없으므로 신중한 사용 필요
명령어 | 설명 | 구문 및 예시 |
CREATE | 테이블 생성 | CREATE TABLE test_table(test1 NUMBER, test2 VARCHAR2(50), test3 DATE NOT NULL CONSTRAINT Tbl_Col_pk Primary Key(test1)); |
DROP | 테이블 삭제 | DROP TABLE test_table; |
RENAME | 테이블 이름 변경 | RENAME test_table TO test_backup_table; |
ALTER | 테이블 컬럼 구조 변경 | ALTER TABLE test_table [ ADD/MODIFY ] (test2 VARCHAR2(30)); |
TRUNCATE | 테이블의 모든 컬럼 삭제 | TRUNCATE TABLE test_table; |
데이터 조작어(DML : Data Manipulation Language)
- 데이터베이스에 있는 데이터를 변경하거나 검색하기 위한 명령어들
- 이 명령어는 트랜잭션 제어어(Transaction Control Language)를 활용하여 실행 전 상태로 복귀 가능
1. INSERT
명령어 | 설명 | 구문 및 예시 |
INSERT | 데이터 입력 |
INSERT INTO test_table(test1) VALUES (0000); SELECT .. ; INSERT INTO dept_copy(deptno, dept_name) VALUES(68, '인사팀'); |
- 입력하고자 하는 테이블의 모든 컬럼 데이터를 입력한다면 컬럼명을 명시하지 않아도 되나, 특정 컬럼 만을 입력하고자 한다면 반드시 컬럼명을 명시해야함
- 컬럼명 수와 VALUES 절 수는 동일해야함
- 기존에 존재하는 테이블 데이터로부터 특정 테이블로 데이터를 복사하고자 한다면 'INSERT INTO emp(empno) SELECT id FROM emp_src'와 같이 사용 가능
2. UPDATE
명령어 | 설명 | 구문 및 예시 |
UPDATE | 데이터 수정 |
UPDATE test_table SET test1 = 1234, test2 = 'Michel' WHERE test1= 0000; UPDATE dept_copy SET deptno = 93, dept_name = '인사팀' WHERE deptno = 68
|
3. DELETE
명령어 | 설명 | 구문 및 예시 |
DELETE | 데이터 삭제 | DELETE FROM test_table WHERE test1 = 1234; |
데이터 제어어(DCL : Data Control Language)
사용자 별로 데이터베이스에 접근할 수 있는 권한을 부여하거나 회수하는 명령어들을 말한다.
1. ROLE - 롤
CREATE ROLE Role_name;
CREATE ROLE manager;
GRANT create table, create view TO manager;
GRANT manager TO scott;
- Role_name 선언 후 GRANT로 권한을 Role_name으로 부여
- Oracle에서는 일반적으로 많이 사용하는 권한을 묶어 세 가지 기본 Role을 제공
- CONNECT : 데이터베이스 접속 권한
- RESOURCE : Object 생성 권한
- DBA : 모든 권한
2. GRANT - 권한 및 롤 부여
GRANT 부여할 권한 유형 TO user [Role_name]
GRANT connect, resource to scott;
GRANT SELECT ON emp TO scott[PUBLIC] [With Grant/Admin Option];
- Grant/Admin Option은 둘 다 실행 권한을 받은 사용자가 다른 사용자에게 실행 권한을 부여해줄 수 있게 해주는 option
- With Grant Option - revoke 시 다른 사용자에게 부여된 권한도 함께 회수
- With Admin Option - revoke 시 다른 사용자에게 부여한 권한은 함께 회수되지 않으므로 Admin Option의 사용은 신중함이 필요
3. REVOKE - 권한 및 롤 회수
REVOKE connect, resource FROM scott;
REVOKE SELECT ON emp FROM scott;
반응형
'정보처리기사 실기(개편) > 데이터 입출력 구현' 카테고리의 다른 글
[정보처리기사 실기 - 데이터 입출력 구현]SQL 성능 개선 순서, TKPROF 수행 순서 (0) | 2020.05.03 |
---|---|
[정보처리기사 실기 - 데이터 입출력 구현]SQL PLUS 활용 (0) | 2020.05.02 |
[정보처리기사 실기 - 데이터 입출력 구현]트랜잭션 제어어, SELECT (0) | 2020.05.01 |
[정보처리기사 실기 - 데이터 입출력 구현]논리 데이터 모델링 (0) | 2020.04.25 |
[정보처리기사 실기 - 데이터 입출력 구현]데이터 모델링 (0) | 2020.04.25 |