데이터베이스를 정의하는 언어
CREATE: DB, TABLE 생성ALTER: TABLE 수정DROP: DB, TABLE 삭제TRUNCATE: TABLE 초기화TRUNCATE TABLE table_name;
TABLE의 행과 열을 조작하는 언어
SELECT: DATA 조회INSERT: DATA 삽입UPDATE: DATA 수정DELETE: DATA 삭제DELETE FROM table_name [WHERE condition];
ROLLBACK;
COMMIT;
데이터 제어어
DATABASE에 접근하거나 객체에 권한을 주는 역할을 하는 언어
GRANT: 특정 DATABASE 사용자에게 특정 작업에 대한 수행 권한 부여REVOKE: 특정 DATABASE 사용자에게 특정 작업에 대한 권한 박탈, 회수COMMIT: TRANSACTION 작업이 정상적으로 완료ROLLBACK: TRANSACTION 작업이 비정상적으로 종료되었을 때 원래 상태로 복구GRANT 시스템_권한명 [, 시스템_권한명, .. | 롤명]
TO 사용자명 [, 사용자명, .. | 롤명, .. | PUBLIC | WITH ADMIN OPTION];
시스템_권한명: 부여할 시스템 권한 이름롤명: 권한을 부여할/받을 ROLE 이름PUBLIC: DB 역할을 모든 사용자에게 부여할 수 있다.WITH ADMIN OPTION: 권한을 부여받은 사용자가 받은 권한을 다른 사용자 또는 역할에게 부여할 수 있다.GRANT 객체권한명 [컬럼]
ON 객체명
TO 유저명 | 롤명 | PUBLIC [WITH GRANT OPTION];
컬럼명: ON절의 객체가 TABLE이나 VIEW일 경우객체명: TABLE, VIEW, SEQUENCE, PROCEDURE 등TO ~: 사용자를 일일이 나열하거나 ROLE에 속한 사용자일 수도 있음GRANT SELECT, INSERT
ON EMPLOYEE
TO JM WITH GRANT OPTION;
SQL>
CONNECT sys/manager AS SYSDBA;
SQL>
REVOKE CREATE USER, ALTER USER, DROP USER
FROM JM;
REVOKE 권한명[, 권한명, ..] | ALL
ON 객체명
FROM 유저명[, 유저명] | 롤명 | PUBLIC
[CASCADE CONSTRAINTS]
CASCADE CONSTRAINTS: 참조 객체 권한에서 사용된 참조 무결성 제한을 같이 삭제 가능WITH ADMIN OPTION으로 객체 권한을 부여한 사용자의 객체 권한을 철회하면 권한을 부여받은 사용자가 부여한 객체 권한 또한 같이 철회되는 종속 철회가 발생한다.REVOKE SELECT, INSERT
ON EMPLOYEE
FROM JM;