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는 권한을 부여하는 명령어다. |
