책 내용 질문하기
ALTER TABLE 문의합니다.
도서
2020 시나공 정보처리기사 필기 : NCS 기반 전면 개편 [기본서]
페이지
433
조회수
666
작성일
2021-03-03
작성자
탈퇴*원
첨부파일

안녕하세요. 시나공 2020 정보처리기사 필기 433p에 ALTER TABLE 설명을 보면 속성에 대해 변경할 때

 

'ALTER TABLE 테이블명 ALTER 속성명 ~~' 

 

라고 나와있으며, 예제2를 보면 '<학생> 테이블의 '학번'필드의 데이터 타입과 크기를 VARCHAR(10)으로 하고 NULL 값이 입력되지 않도록 변경하시오.에서

 

'ALTER TABLE 학생 ALTER 학번 VARCHAR(10) NOT NULL;'

 

이라고 되어 있습니다.

 

 

그런데 테이블명 다음에 ALTER이 맞는지 궁금합니다. 집에서 my-sql로 직접 해봤는데 오류가 나고 ALTER가 아닌 MODIFY로 해서 'ALTER TABLE 학생 MODFIY ~~ ' 이런식으로 하니 제대로 되더라고요. 혹시 my-sql이라 안되는 것인가요?

 

 

질문을 정리하자면 ALTER문에서 속성에 대해 변경하고자 할 때 테이블명 다음에 ALTER이 아닌 MODIFY가 아닌지 궁금하여 질문드립니다.

 

감사합니다.

답변
2021-03-03 16:36:00

안녕하세요 길벗수험서 운영팀입니다.

 

alter와 modify 둘 모두 정답입니다.

 

alter ~ alter는 SQL 작성 표준인 ANSI/ISO/IEC 9075를 준수한 작성법입니다. (이하 ansi표준)

 

다만 최근 DBMS를 제공하는 대부분의 벤더들이 자신들에게 적합한 SQL 작성법을 사용하고 있음에 따라 최근에는 alter ~ alter 구문을 사용하는 DBMS를 찾기가 어려울 정도가 되었습니다.

(대부분 modify를 사용)

 

이에 ansi표준도 갱신 때 이를 병기한 바 있어 2021 교재 개정 때 alter ~ alter 구문을 alter ~ modify 구문으로 변경하였습니다.

그렇다고 기존의 alter ~ alter 구문이 오답이 되는 것은 아니라는 점도 알아주시기 바랍니다.

 

행복한 하루되세요 :)

  • 관리자
    2021-03-03 16:36:00

    안녕하세요 길벗수험서 운영팀입니다.

     

    alter와 modify 둘 모두 정답입니다.

     

    alter ~ alter는 SQL 작성 표준인 ANSI/ISO/IEC 9075를 준수한 작성법입니다. (이하 ansi표준)

     

    다만 최근 DBMS를 제공하는 대부분의 벤더들이 자신들에게 적합한 SQL 작성법을 사용하고 있음에 따라 최근에는 alter ~ alter 구문을 사용하는 DBMS를 찾기가 어려울 정도가 되었습니다.

    (대부분 modify를 사용)

     

    이에 ansi표준도 갱신 때 이를 병기한 바 있어 2021 교재 개정 때 alter ~ alter 구문을 alter ~ modify 구문으로 변경하였습니다.

    그렇다고 기존의 alter ~ alter 구문이 오답이 되는 것은 아니라는 점도 알아주시기 바랍니다.

     

    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.