일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- list multiplication
- coalesce
- git
- GROUPING
- window 함수
- SQLD
- 문법 차이
- html
- 위코드
- SQL
- sql 저장 모듈
- 코드 스니펫
- 자료구조
- searched case expression
- dom
- MYSQL
- python
- dense rank
- execute immediate
- show graph characteristics
- simple case expression
- 비절차적 데이터 조작어
- 기업 협업
- Node.js
- 뷰
- Oracle
- JavaScript
- ROLLUP
- 정보처리기사
- 정규식 연산
- Today
- Total
프로그래밍 숲
SQL 명령어 DCL(GRANT, REVOKE) & TCL(COMMIT, ROLLBACK) 예시 본문
SQL 명령어 DCL(GRANT, REVOKE) & TCL(COMMIT, ROLLBACK) 예시
jjscript 2023. 5. 29. 06:30데이터 제어어(DCL, Data Control Language)
SQL에서 데이터 제어어는 데이터베이스의 액세스 권한과 보안을 제어하는 데 사용됩니다. DCL 명령은 GRANT 및 REVOKE 등의 유형이 있습니다. 그 중 GRANT와 REVOKE 명령어에 대해서 알아보겠습니다.
GRANT
'GRANT'는 사용자에게 데이터베이스, 테이블 또는 뷰에 대한 다양한 권한을 부여합니다.
예시
'SalesDB'라는 데이터베이스와 'John'이라는 사용자가 있다고 가정해 보겠습니다. 'SalesDB'의 'Customers' 테이블에서 SELECT, INSERT 및 DELETE 데이터에 대해 'John'에게 권한을 부여하려고 합니다.
GRANT SELECT, INSERT, DELETE ON SalesDB.Customers TO John;
이 경우 'John'은 이제 'SalesDB' 데이터베이스의 'Customers' 테이블에서 SELECT, INSERT 및 DELETE 작업을 수행할 수 있습니다.
REVOKE
'REVOKE'는 사용자에게 부여된 권한을 회수합니다.
예시
나중에 'John'이 'Customers'에서 DELETE할 수 있는 기능을 더 이상 원하지 않는다고 결정하면 REVOKE 명령을 사용합니다.
REVOKE DELETE ON SalesDB.Customers FROM John;
이 명령을 실행한 후 'John'은 더 이상 'Customers' 테이블에 대한 DELETE 권한이 없지만 SELECT 및 INSERT 작업을 수행할 수 있는 권한은 유지됩니다.
트랜잭션 제어어(TCL, Transaction Control Language)
트랜잭션 제어 언어(TCL)는 데이터베이스에서 트랜잭션을 관리하는 데 사용되는 일련의 명령 또는 명령문입니다. 트랜잭션이라고 하는 단일 단위로 여러 데이터베이스 작업의 실행 및 결과를 제어하는 방법을 제공합니다. TCL 명령은 일반적으로 데이터 조작 언어(DML) 또는 데이터 정의 언어(DDL)와 같은 다른 데이터베이스 언어와 함께 사용되어 데이터베이스 내에서 데이터 무결성과 일관성을 보장합니다.
TCL에는 많은 명령어가 있지만 그 중 COMMIT과 ROLLBACK을 사용한 트랜잭션 예시에 대해서 알아보겠습니다.
예시
BEGIN TRANSACTION;
UPDATE Employees
SET Salary = 5000
WHERE EmployeeID = 123;
IF (조건) THEN
COMMIT;
ELSE
ROLLBACK;
END IF;
END TRANSACTION;
'프로그래밍_인포 > 데이터베이스&SQL' 카테고리의 다른 글
VARCHAR vs VARCHAR2: Oracle 데이터베이스에서 문자열 데이터 유형 선택하기 (0) | 2023.05.31 |
---|---|
HAVING 절과 EXISTS 연산자가 있는 복잡한 SQL문 분석해보기 (0) | 2023.05.30 |
체크 제약조건(Check Constraint)의 정의와 예시 (0) | 2023.05.30 |
정규화 과정이란? 제1정규형, 제2정규형, 제3정규형, BCNF (0) | 2023.05.14 |
DBMS 문자 필드 타입 (MySQL) (0) | 2023.05.12 |