Computer Science 📚/정보처리기사

[정처기] SQL문 활용

leejaejae 2024. 7. 19. 14:08

■ SQL 분류

1. 데이터 정의어 (DDL: Data Definition Language) → 논리/물리적 데이터 구조 정의

CREATE (생성) CREATE DOMAIN / SCHEMA / TABLE / VIEW / INDEX → 생성
ALTER (변경) TABLE 이름 변경 → ALTER TABLE / 컬럼 추가 
DROP (삭제) DROP DOMAIN / SCHEMA / TABLE / VIEW / INDEX → 삭제
 CASCADE: 참조하는 모든 개체 함께 제거
※ RESTRICT: 제거할 요소를 다른 개체가 참조 시 제거 취소

 

2. 데이터 조작어 (DML: Data Manipulation Language)

SELECT (검색) SELECT FROM 테이블명 [WHERE 조건];
INSERT (삽입) INSERT INTO 테이블명 VALUES 데이터;
DELETE (삭제) DELETE FROM 테이블명 [WHERE 조건];
UPDTATE (변경) UPDATE 테이블명 SET 속성명 = 데이터 [WHERE 조건];


※ SELECT 구문 예시

SELECT [DISTINCT] 필드 이름 
FROM 테이블명
SELECT 이름 FROM 학생 이름을 산출 / 학생 테이블에서
[WHERE 조건식] WHERE 수학 >= 80; 수학이 80 이상인 자료만 
[GROUP BY 필드 이름] GROUP BY 학년 학년 필드를 그룹으로 묶어서
[HAVING 그룹 조건식] HAVING COUNT(*)>=2 레코드 개수가 2이상인 그룹만
[ORDER BY 정렬] ORDER BY 나이 ASC or 생략
ORDER BY 나이 DESC
나이 오름차순 정렬 (기본)
나이 내림차순 정렬

DISTINCT: 중복 레코드 제거한 조회 결과 출력

OR ① 부서='경리' OR 부서='영업'
 IN('경리', '영업')
AND ① 생일>=#2001-1-1# AND 생일<#2002-12-31#
 BETWEEN #2001-1-1# AND #2002-12-31#
만능문자 LIKE '박%' → 박으로 시작되는 모든 글자
LIKE '_은' → 은으로 끝나는 두 글자
빈칸 IS NULL
부정문 NOT

 

3. 데이터 제어어 (DCL: Data Control Language) → 데이터 보안/복구/병행수행 제어무결성 유지

COMMIT 수행된 결과를 실제 물리적 디스크로 저장 후 작업의 정상 완료 통보
ROLLBACK COMMIT 수행되지 않은 작업은 최소하고, 이전 상태로 원복
※ SAVEPOINT: 트랜잭션 내 ROLLBACK할 저장 위치 지정
GRANT 데이터베이스 사용자에게 사용 권한 부여
 GRANT 권한 리스트 ON 개체 TO 사용자 [WITH GRANT OPTION]
REVOKE 데이터베이스 사용자의 사용 권한 취소
 REVOKE [GRANT OPTION FOR] 권한 리스트 ON 개체 FROM 사용자

* [WITH GRANT OPTION] : 부여받은 권한을 다른 사용자에게 재부여
* [GRANT OPTION FOR]: 다른 사용자에게 권한 부여 가능한 권한 취소