SQL 응용 데이터베이스 기본 3/3
트랜잭션
DML
데이터 조작어(DML, Data Manipulation Language)의 개념
데이터베이스에 저장된 자료들을 입력, 수정, 삭제, 조회하는 명령어
DML 명령어
SELECT : 테이블 내 컬럼에 저장된 데이터 조회
INSERT : 테이블 내 컬럼에 데이터 추가
UPDATE : 테이블 내 컬럼에 저장된 데이터 수정
DELETE : 테이블 내 컬럼에 저장된 데이터 삭제
SELECT(데이터 조회) 명령어
SELECT 명령어 개념
SELECT [ALL|DISTINCT] 속성명1, 속성명2, ...
FROM 테이블명1, ...
[WHERE 조건]
[GROUP BY 속성명1, ...]
[HAVING 그룹조건]
[ORDER BY 속성 [ASC|DESC]];
SELECT 절 : 검색하고자 하는 속성명, 계산식 기술(ALL : 전체, DISTINCT : 중복 제거)
FROM 절 : 질의에 의해 검색될 데이터들을 포함하는 테이블명 기술
WHERE 절 : 검색할 조건 기술
GROUP BY 절 : 속성값을 그룹으로 분류하고자 할 때 사용
HAVING 절 : GROUP BY에 의해 분류한 후 그룹에 대한 조건 지정
ORDER BY 절 : 속성값을 정렬하고자 할 때 사용(ASC : 오름차순, DESC : 내림차순)
조인(Join)
두 개 이상의 테이블을 연결하여 데이터를 검색하는 방법으로 두 릴레이션으로부터 관련된 튜플들을 결합하여 하나의 튜플로 만드는 가장 대표적인 데이터 연결 방법
논리적 조인 유형
내부 조인(Inner Join) : 공통 존재 컬럼의 값이 값은 경우를 추출하는 기법
외부 조인(Outer Join) : 조인 조건에 충족하지 않는 데이터도 추출하는 기법
교차 조인(Cross Join) : 조인 조건이 없는 모든 데이터 조합을 추출하는 기법
셀프 조인(Self Join) : 자기 자신에게 별칭을 지정한 후 다시 조인하는 기법
서브쿼리(Subquery)
SQL 문 안에 포함된 또 다른 SQL 문
서브쿼리 유형
SLELCT 절 서브쿼리 : 스칼라 서브쿼리(Scalar Subquery)라고 불림
FROM 절 서브쿼리 : 인라인 뷰(Inline View)라고 불림
WHERE 절 서브쿼리 : 중첩 서브쿼리(Nested Subquery)라고 불림
집합 연산자(Set Operator)
테이블을 집합 개념으로 보고, 두 테이블 연산에 집합 연산자를 사용하는 방식으로 두 개 이상의 질의 결과를 하나의 결과로 만듦
집합 연산자 유형
UNION : 중복 행이 제거된 쿼리 결과를 반환
UNION ALL : 중복 행이 제거되지 않은 쿼리 결과를 반환
INTERSECT : 두 쿼리 결과에 공통적으로 존재하는 결과를 반환
MINUS : 첫 쿼리에 있고 두 번째 쿼리에는 없는 결과를 반환
INSERT(데이터 삽입) 명령어
INSERT INTO 테이블명(속성명1, ...)
VALUES (데이터1, ...);
UPDATE(데이터 변경) 명령어
UPDATE 테이블명
SET 속성명 = 데이터, ...
WHERE 조건;
DERETE(데이터 삭제) 명령어
DELETE FROM 테이블명
WHERE 조건;
DCL
데이터 제어어(DCL, Data Control Language)의 개념
데이터베이스 관리자가 데이터 보안, 무결성 유지, 병행 제어, 회복을 위해 데이터베이스 관리자(DBA, DataBase Administrator)가 사용하는 명령어
DCL 명령어
GRANT : DBA가 사용자에게 데이터베이스에 대한 권한을 부여
REVOKE : DBA가 사용자에게 부여했던 권한을 회수
GRANT(권한 부여) 명령어
GRANT 권한 ON 테이블 TO 사용자;
REVOKE(권한 회수) 명령어
REVOKE 권한 ON 테이블 FROM 사용자;