1. SQL(Structured Query Language)
- sql은 국제 표준 데이터베이스 언어이며, 많은 회사에서 관계형 데이터베이스(RDB; Relational DataBase)를 지원하는 언어로 채택하고 있다.
SQL은 질의(Query)어지만 데이터 정의(Data Define), 데이터 조작(Data Manipulation), 데이터 제어(Data Control) 기능을 모두 갖고 있다.
2. SQL의 분류
2.1. DDL(Data Define, Language, 데이터 정의어)
- DDL은 SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의하거나 변경 또는 삭제할 때 사용하는 언어이다.
- 논리적 데이터 구조와 물리적 데이터 구조의 사상을 정의한다.
- 데이터베이스 관리자나 데이터베이스 설계자가 사용
명령어 | 기능 |
CREATE | SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의 |
ALTER | TABLE에 대한 정의를 변경 |
DROP | SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 삭제 |
2.2. DML(Data Manipulation Language, 데이터 조작어)
- DML은 데이터베이스에 저장된 데이터를 질의어를 통해 처리하는 언어이다.
- 데이터베이스 사용자와 데이터베이스 관리 시스템 간의 인터페이스를 제공한다.
명령어 | 기능 |
SELECT | 테이블에서 조건에 맞는 튜플을 검색 |
INSERT | 테이블에 새로운 튜플을 삽입 |
DELETE | 테이블에서 조건에 맞는 튜플을 삭제 |
UPDATE | 테이블에서 조건에 맞는 튜플의 내용을 변경 |
2.3. DCL(Data Control Language, 데이터 제어어)
- DCL은 데이터의 보안, 무결성, 회복, 병행 수행 등을 정의하는 데 사용되는 언어이다.
명령어 | 기능 |
COMMIT | 명령에 의해 수행된 결과를실제 물리적 디스크로저장하고, 데이터베이스 조작 작업이 정상적으로 완료되었음을 관리자에게 알림 |
ROLLBACK | 데이터베이스 조작 작업이 비정상적으로 종료되었을 때 원래의 상태로 복구 |
GRANT | 데이터베이스 사용자에게 사용 권한을 부여 |
REVOKE | 데이터베이스 사용자의 사용 권한을 취소 |
정보처리기사 필기 기출문제
41. SQL의 분류 중 DDL에 해당하지 않는 것은? ① [정답률: 80%] 정보처리기사(2020년 이후) 필기 (2020년 1회·2회 통합 기출문제) |
|
① UPDATE | DDL - CREATE, ALTER, DROP UPDATE는 DML |
② ALTER | |
③ DROP | |
④ CREATE |
47. DML에 해당하는 SQL 명령으로만 나열된 것은? ③ [정답률: 26%] 정보처리기사(2020년 이후) 필기 (2020년 1회·2회 통합 기출문제) |
|
① DELETE, UPDATE, CREATE, ALTER | CREATE, ALTER는 DDL |
② INSERT, DELETE, UPDATE, DROP | DROP은 DDL |
③ SELECT, INSERT, DELETE, UPDATE | DML - SELECT, INSERT, DELETE, UPDATE |
④ SELECT, INSERT, DELETE, ALTER | ALTER는 DDL |
58. 데이터 제어언어(DCL)의 기능으로 옳지 않은 것은? ② [정답률: 23%] 정보처리기사(2020년 이후) 필기 (2020년 1회·2회 통합 기출문제) |
|
① 데이터 보안 | |
② 논리적, 물리적 데이터 구조 정의 | 논리적, 물리적 데이터 구조 정의는 DDL의 기능이다. |
③ 무결성 유지 | |
④ 병행수행 제어 |
45. DCL(Data Control Language) 명령어가 아닌 것은? ④ [정답률: 33%] 정보처리기사(2020년 이후) 필기 (2020년 3회 기출문제) |
|
① COMMIT | |
② ROLLBACK | |
③ GRANT | |
④ SELECT | DCL - COMMIT, ROLLBACk, GRANT, REVOKE DML - SELECT, INSERT, DELETE, UPDATE |
55. DML(Data Manipulation Language) 명령어가 아닌 것은? ③ [정답률: 67%] 정보처리기사(2020년 이후) 필기 (2020년 3회 기출문제) |
|
① INSERT | |
② UPDATE | |
③ ALTER | DML - SELECT, INSERT, DELETE, UPDATE DCL - CREATE, ALTER, DROP |
④ DELETE |
44. 학생 테이블을 생성한 후, 성별 필드가 누락되어 이를 추가하려고 한다. 이에 적합한 SQL 명령어는? ② [정답률: 25%] 정보처리기사(2020년 이후) 필기 (2020년 4회 기출문제) |
|
① INSERT | |
② ALTER | 테이블에 대한 정의(필드)를 변경하는 명령어는 DDL - ALTER |
③ DROP | |
④ MODIFY |
47. 다음 SQL문에서 빈칸에 들어갈 내용으로 옳은 것은? ② [정답률: 29%] 정보처리기사(2020년 이후) 필기 (2020년 4회 기출문제) |
|
① FROM | |
② SET | 본문에서 다루지는 않았지만 DML - UPDATE 명령어는 SET과 함께 온다. |
③ INTO | |
④ TO |
53. 사용자 X1에게 department 테이블에 대한 검색 연산을 회수하는 명령은? ③ [정답률: 32%] 정보처리기사(2020년 이후) 필기 (2020년 4회 기출문제) |
|
① delete select on department to X1; | |
② remove select on department from X1; | |
③ revoke select on department from X1; | SQL에서 권한을 회수 하는 명령어는 DCL - revoke이다. |
④ grant select on department from X1; | DCL - grant는 권한을 부여하는 명령어다. |