본문 바로가기
Certificate/정보처리기능사

정보처리기능사 필기대비 제 2과목 패키지활용 ; SQL 명령어 종류정리

by yoiii 2021. 1. 20.

* 2021 정보처리기능사 필기 과목 시험대비를 위해 작성한 글입니다.

제2과목 패키지활용의 SQL활용 파트에서 최소한 알아 두어야 할 SQL 명령어를 기록해 두었습니다.

개인적인 자격증 공부 기록용으로 작성한 글이기에, 잘못된 내용이 있을 수 있습니다.


■ SQL(Structured Query Language)

관계형 데이터베이스(Relational DataBase)를 조작하는 비절차적 프로그래밍 언어이다.

SQL 명령어의 종류는 데이터 정의 언어(DDL;Data Definition Language), 데이터 조작 언어(DML;Data Manipulation Language), 데이터 제어 언어(DCL;Data Control Language)로 나뉜다.


# 데이터 정의 언어 <DDL> ; 데이터의 입력,참조를 위한 테이블과 뷰(가상 테이블)를 정의하기 위한 언어이다.

CREATE 데이터베이스,테이블,뷰 작성

ALTER 데이터베이스,테이블 구조 변경

DROP 데이터베이스,테이블,뷰 삭제

- option 1) RESTRICT 삭제 대상으로 지정한 데이터베이스,테이블,뷰 등에 대하여, 이를 참조하는 객체가 존재하면 제거하지 않는다. 2) CASCADE 삭제 대상으로 지정한 데이터베이스,테이블,뷰 등에 대하여, 이를 참조하는 객체도 함께 제거한다.


■ CREATE 예시

CREATE - 데이터베이스 작성

CREATE DATABASE <데이터베이스 이름> 데이터베이스 작성

ex> CREATE DATABASE SCHOOL ; "SCHOOL" 데이터베이스를 작성한다.

 

CREATE - 테이블 작성

CREATE TABLE <테이블 이름> ( 

<열이름1> <데이터형식><열이름2> <데이터형식>)ex> CREATE TABLE CLASS(번호 INT

성명 CHAR(10)

) ; INT형 "번호"열, CHAR형 "성명"열을 가지는 "CLASS" TABLE을 생성한다.


■ DROP 예시

DROP - 일반형태

DROP DATABASE <데이터베이스 이름> 데이터베이스 삭제

ex> DROP DATABASE SCHOOL; "SCHOOL" 데이터 베이스를 삭제한다.

 

DROP - CASCADE ; 참조 객체 모두 제거

DROP TABLE <테이블 이름>

ex> DROP TABLE CLASS CASCADE; "CLASS" 테이블과 이를 참조하는 객체들을 모두 제거한다.


# 데이터 조작 언어 <DML> ; 테이블의 레코드를 검색(SELECT), 삽입(INSERT), 갱신(UPDATE), 삭제(DELETE) 할 때 사용하는 언어이다.

SELECT 테이블에서 데이터를 검색한다. SELECT - FROM - WHERE 유형

INSERT 테이블에 새로운 데이터(행)을 삽입한다. INSERT - INTO - VALUES 유형

UPDATE 테이블에 저장되어 있는 데이터를 갱신한다. UPDATE - SET - WHERE

DELETE 테이블에 저장된 행을 삭제한다. DELETE FROM WHERE


■ SELECT 예시 ; SELECT - FROM - WHERE

SELECT - 기본검색

SELECT 성명,주소 FROM 학급 ;

* 학급 테이블로 부터, 성명과 주소를 검색한다.

SELECT COUNT(*) FROM 학급;

* 학급 테이블의 행(튜플)의 개수를 계산한다.

 

SELECT - 중복값 제외 검색

SELECT DISTINCT 이름 FROM 학급 ;

* 학급 테이블로 부터 이름의 중복된 값이 없이 검색한다.

 

SELECT - 조건에 의한 검색

SELECT * FROM 학급 WHERE 선택과목 = "물리1" ;

* 학급 테이블로 부터, 선택과목이 물리1인 모든 데이터를 검색한다SELECT 상품명,가격 FROM 재고 WHERE 가격 >= 10000; 재고 테이블에서 가격이 10000 이상인 데이터의 상품명,가격을 검색한다.

 

SELECT - 순서를 명시하는 검색

SELECT * FROM 인사 ORDER BY 입사년도 ASC;

* 인사 테이블에서 입사년도 열을 오름차순으로 정렬하여 검색한다.

SELECT * FROM 인사 ORDER BY 입사년도 DESC;

* 인사 테이블에서 입사년도 열을 내림차순으로 정렬하여 검색한다.

SELECT 성명 FROM 인사 WHERE 월급 >= 200 ORDER BY 입사년도 DESC, 나이 ASC;

* 인사 테이블에서 월급이 200 이상인 직원에 대하여 입사년도는 내림차순, 나이는 오름차순으로 검색한다.


■ INSERT 예시 ; INSERT INTO VALUES

INSERT - 테이블에 새로운 행 삽입

INSERT INTO 인사(사번,성명,나이) VALUES(2021,'오묘',23);

* 인사 테이블에 사번 2021 성명 '오묘' 나이 23인 사원을 삽입한다.

 

INSERT - SELECT문과 함께 사용하는 삽입문

INSERT INTO 홍보부(사번,성명,나이) 

SELECT 사번,성명,나이 FROM 인사 WHERE 부서명 = "홍보부"

* 인사테이블에서, 부서명이 홍보부인 사원의 사번,성명,나이를 검색해 홍보부 테이블에 삽입한다.


■ UPDATE 예시 ; UPDATE SET WHERE

UPDATE - 기본형태 

UPDATE 인사 SET 월급 = 300 WHERE 사번 = 2021;

* 인사 테이블에서 사번이 2021인 직원의 월급 항복을 300으로 수정한다.

UPDATE 인사 SET 월급 *1.2 WHERE 부서명 = "홍보부";

* 인사 테이블에서 홍보부 부서의 월급을 20% 인상한다.


■ DELETE 예시 ; DELETE FROM WHERE

DELETE - 기본형태

DELETE FROM 인사;

* 인사 테이블을 모두 삭제한다.

DELETE FROM 인사 WHERE 사번 - 2021;

* 인사 테이블에서 사번이 2021인 사원을 삭제한다.


# 데이터 제어 언어 <DCL> ; 데이터베이스를 제어하는 언어이다.

GRANT 데이터 조작 권한을 사용자에게 부여한다.

REVOKE 사용자에게 부여한 데이터 조작 권한을 해제한다.

COMMIT 데이터 변경을 확정한다.

ROLLBACK 데이터 변경을 취소한다.


# FINAL CHECK QUSETION

SQL문 형식

SELECT - " " - " " / INSERT - " " - " " / UPDATE - " " - " " / DELETE - " " - " "

데이터 조작 언어(DML) 종류

1. " " 2. " " 3. " " 4. " "

데이터 정의 언어(DDL) 종류

1. " " 2. " " 3. " "

DROP명령어의 OPTION 2가지에 대해 설명하시오

1.RESTRICT 2.CASCADE

 

[답안]

더보기
SQL문 형식

SELECT - FROM - WHERE / INSERT - INTO - VALUES / UPDATE - SET - WHERE / DELETE - FROM - WHERE

데이터 조작 언어(DML) 종류

SELECT(검색) , INSERT(삽입) , UPDATE(갱신) , DELETE(삭제) 

데이터 정의 언어(DDL) 종류

CREATE , ALTER , DROP

DROP명령어 OPTION 2가지에 대해 설명하시오

1.RESTRICT 제거할 요소가 참조 중이면 제거하지 않습니다.

2.CASCADE 제거할 요소가 참조 중이면 함께 제거합니다.


 

 

댓글