[sql] SQL 테이블 생성 시 테이블 액세스 권한 설정하기

테이블 생성 시에는 보안을 고려하여 테이블에 접근할 수 있는 사용자 권한을 설정해야 합니다. SQL 데이터베이스에서는 테이블 액세스 권한을 설정하는 다양한 방법이 제공됩니다. 이번 포스트에서는 SQL 테이블 생성 시에 테이블 액세스 권한을 설정하는 방법에 대해 알아보겠습니다.

1. CREATE TABLE 문을 사용하여 테이블 생성하기

먼저, SQL의 CREATE TABLE 문을 사용하여 테이블을 생성합니다. 아래는 예시입니다.

CREATE TABLE employees (
    id INT PRIMARY KEY,
    name VARCHAR(255),
    email VARCHAR(255)
);

위 예시에서는 employees라는 테이블을 생성하고, id, name, email이라는 컬럼들을 정의하였습니다.

2. GRANT 문을 사용하여 액세스 권한 설정하기

다음으로, GRANT 문을 사용하여 테이블에 대한 액세스 권한을 설정합니다. GRANT 문은 특정 사용자에게 권한을 부여하는 역할을 합니다. 아래는 예시입니다.

GRANT SELECT, INSERT, UPDATE, DELETE ON employees TO user1;

위 예시에서는 employees 테이블에 대해 SELECT, INSERT, UPDATE, DELETE 권한을 user1 사용자에게 부여하였습니다. 이제 user1은 employees 테이블에 대해 데이터 조회, 삽입, 업데이트, 삭제 작업을 수행할 수 있습니다.

3. REVOKE 문을 사용하여 권한 취소하기

만약 사용자에게 부여한 권한을 취소하고자 한다면, REVOKE 문을 사용하여 권한을 취소할 수 있습니다. 아래는 예시입니다.

REVOKE SELECT, INSERT, UPDATE, DELETE ON employees FROM user1;

위 예시에서는 user1에게 부여한 employees 테이블에 대한 SELECT, INSERT, UPDATE, DELETE 권한을 취소하였습니다.

4. ALTER TABLE 문을 사용하여 권한 변경하기

이외에도 ALTER TABLE 문을 사용하여 테이블의 액세스 권한을 변경할 수도 있습니다. ALTER TABLE 문은 테이블의 속성을 변경하는 역할을 합니다. 아래는 예시입니다.

ALTER TABLE employees
GRANT SELECT ON employees TO user2;

위 예시에서는 employees 테이블에 대해 SELECT 권한을 user2 사용자에게 추가로 부여하였습니다.

참고 자료