학생 테이블을 생성한 후, 성별 필드가 누락되어 이를 추가하려고 한다. 이에 적합한 SQL 명령어는?
- INSERT
- ALTER
- DROP
- MODIFY
정답과 해설 보기
정답 ② · 이미 생성된 테이블에 누락된 필드를 추가하는 SQL 명령어를 고르는 문제이다. 기존 테이블의 구조를 변경하여 새로운 열을 추가할 때는 ALTER TABLE을 사용한다.
테이블의 구조를 변경하거나 열을 추가할 때는 ALTER TABLE 명령어를 사용한다.
개념 한 쪽
테이블은 행과 열로 데이터를 담는 데이터베이스의 기본 객체다. 정보처리기사에서는 테이블 구조를 고치는 ALTER 명령, DELETE와 DROP의 차이, 튜플·애트리뷰트 용어가 반복해서 출제된다.
이 개념을 문제로 확인하고 싶으면 이 개념 문제 10개 풀기 회원용
가입 없이 오늘의 10문제 바로 풀기 →
출제기준 단원 「테이블」의 공개 문제 3개를 묻는 꼴별로 나누면 이렇습니다.
| 묻는 꼴 | 문제 수 | 무엇을 묻나 |
|---|---|---|
| 구조 변경 명령 선택 | 1 | 기존 테이블에 누락된 컬럼을 추가할 SQL 명령 |
| DELETE 명령 설명 판정 | 1 | DELETE의 용도·문법·효과 설명 중 틀린 것 고르기 |
| 데이터베이스 용어 정의 판정 | 1 | 튜플·애트리뷰트·릴레이션·도메인 설명 중 옳지 않은 것 찾기 |
테이블을 다루는 용어부터 정리하면, 튜플(tuple)은 테이블에서 행(row)에 해당하고, 애트리뷰트(attribute)는 열(column)에 해당한다. 즉 '튜플은 열에 해당한다'는 설명은 용어의 혼동이며, 릴레이션은 스키마와 인스턴스로 구성되고 도메인은 값의 집합이라는 설명이 옳다.
테이블 생성 후 누락된 필드(컬럼)를 추가하려면 ALTER TABLE 명령을 쓴다. 학생 테이블에 성별 필드가 빠졌거나 회원 테이블에 주소 필드가 빠진 상황 모두 "기존 테이블의 구조를 수정하여 컬럼을 추가"하는 경우이므로 ALTER가 정답이다. DROP은 객체를 없애는 명령이고, INSERT는 데이터를 넣는 명령이라 구조 추가에는 어울리지 않는다.
데이터를 지우는 DELETE와 구조를 지우는 DROP도 구분해야 한다. DELETE는 행 단위로 데이터만 지우는 DML이며, WHERE 절을 생략하면 전체 행이 삭제되어 빈 테이블이 되지만 테이블 구조는 남는다. 반면 DROP은 DDL로 테이블의 구조와 데이터를 완전히 제거한다. SELECT 문에서는 중복 레코드 제거가 SELECT 절의 DISTINCT 키워드로 처리되고 WHERE 절은 행을 걸러는 조건용이며, 열 이름을 다르게 표시할 때는 AS 절로 별칭을 붙인다.
'테이블을 생성한 후 누락된 필드를 추가하려고 한다. 적합한 SQL 명령어는?' 문제가 대표적이며 정답은 ALTER다. 'DELETE 명령에 대한 설명으로 틀린 것은?'에서는 'WHERE 절 없이 DELETE하면 테이블 구조도 사라진다'는 보기가 오답인데, 구조까지 지우는 것은 DROP이고 DELETE 후에도 빈 테이블은 남는다. SELECT 설명 문제에서는 'DISTINCT를 WHERE 절에 쓴다'는 보기가 틀린 설명으로 나온다.
학생 테이블을 생성한 후, 성별 필드가 누락되어 이를 추가하려고 한다. 이에 적합한 SQL 명령어는?
정답 ② · 이미 생성된 테이블에 누락된 필드를 추가하는 SQL 명령어를 고르는 문제이다. 기존 테이블의 구조를 변경하여 새로운 열을 추가할 때는 ALTER TABLE을 사용한다.
테이블의 구조를 변경하거나 열을 추가할 때는 ALTER TABLE 명령어를 사용한다.
『회원』테이블 생성 후 『주소』 필드(컬럼)가 누락되어 이를 추가하려고 한다. 이에 적합한 SQL명령어는?
정답 ③ · 이미 생성된 테이블에 누락된 컬럼을 추가하는 SQL 명령어를 묻는 문제이다. ALTER TABLE 문은 기존 테이블의 구조를 변경하여 컬럼을 추가하거나 수정·삭제할 때 사용하는 DDL 명령이다.
테이블의 구조를 수정하여 컬럼을 추가하거나 삭제할 때는 ALTER 명령어를 사용한다.
DELETE 명령에 대한 설명으로 틀린 것은?
정답 ② · DELETE 명령에 대한 틀린 설명을 고르는 문제이다. DELETE는 테이블의 행 단위로 데이터를 삭제하는 DML 명령으로, WHERE 조건이 없으면 모든 행이 삭제되어 빈 테이블이 된다.
DROP은 구조를 지우지만 DELETE는 데이터만 지우므로 WHERE 없이 DELETE해도 테이블 구조는 남는다.
정보처리기사 풀이 세트에서 이 개념의 문제 10개를 바로 풀어 보세요.