ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [SQL] ALTER TABLE 문. 테이블 수정하기
    IT /DataBase 2013. 6. 2. 18:24
    728x90

    ALTER 구문은 테이블을 수정합니다.

    컬럼을 추가 한다거나 삭제 한다거나, 컬럼의 속성을 변경해 줄수 있습니다.

     

    도움말에는

    열과 제약 조건을 변경, 추가 또는 삭제하거나 파티션을 재할당하거나 제약 조건과 트리거를 설정 또는 해제하여 테이블 정의를 수정합니다.

    라고 나와있습니다.

      

    앞서 만들어 봤던 테이블을 한번 확인 해보면 상당히 쓸모없게 생겼는데.

    alter table 통해 컬럼을 추가해주고 삭제하여 좀더 쓸모 있게 만들어 보겠습니다.

     

       

    나이값을 없애고 생년월일을 넣어 두고 싶습니다.

    컬럼이름은 Birth 변경을 하고

    속성은 문자열 형태로 변경을 할겁니다.

     

     

    이름을 변경 할때는 저장프로시저를 사용하면 편하지만

    alter 통해 컬럼을 삭제 하고 추가 해봅시다.

       

    column userage 삭제

     

    alter table UserTbl drop column UserAge

    -- UserTbl 테이블에서 UserAge 컬럼을 삭제 합니다. (drop은 폴더 삭제라고 생각하면 됩니다.)

    select * from UserTbl

       

       

    column birth 추가

       

    alter table UserTbl add Birth varchar(6) NULL

    -- UserTbl 테이블에서 Birth 컬럼을 추가 합니다 . 형식은 varchar 형식이고 널값을 허용합니다.

    select * from UserTbl

     

    일단 순서는 신경 쓰지 마세요.

     

    COLUMN 속성 변경

     

    ALTER TABLE ALTER COLUMN 이용하여 COLUMN 속성을 변경 해봅시다.

       

       

    alter table UserTbl alter column UserID varchar(50) NULL

    --UserID 데이터 형식을 varchar(50) 으로 지정하고 NULL값을 허용한다.
     

    alter table UserTbl alter column UserID varchar(50) NOT NULL

    --UserID 데이터 형식을 varchar(50) 으로 지정하고 NULL값을 허용하지 않는다.

       

    ID 항상 가지고 있을 것이기 때문에 NULL값을 허용 하지 않고 쿼리를 실행 해줍니다.

     

    결과는 똑같이 나오지만 UserID 이제 NULL값을 허용하지 않습니다 ㅎㅎ

    위에서는 varchar 형식으로 계속 지정을 하고 있지만

       

    alter table __ alter column 문을 통해서 다른 데이터 형식으로도 변경할수 있습니다.

       

       

    이제 내용을 종합해서

    UserTbl 컬럼에는

    이름 / 아이디 / 전화번호 / 지역 / / 아이템 / 아이템2/ 아이템3 / 코멘트

       

    alter table usertbl add Area varchar(50) NULL

    alter table usertbl add Money int NULL

    alter table usertbl add Item1 varchar(50) NULL

    alter table usertbl add Item2 varchar(50) NULL

    alter table usertbl add Item3 varchar(50) NULL

    alter table usertbl add Comment varchar(50) NULL

     

    select * from UserTbl

       

    정도로 만들고

    ItemTbl 컬럼에는

       

    아이템코드 / 아이템이름 / 금액 입력 있도록 만들어 봅시다~!

       

    alter table ItemTbl drop column UserID

    alter table ItemTbl drop column uMoney

    alter table ItemTbl drop column item2 , item3

    alter table itemTbl add Itemcode varchar(10) NULL, Price int NULL

       

    위처럼 ' , ' 이용해서 구문하나에 여러 개의 처리를 할수 있습니다!

    그럼 UserTbl 처럼 힘들게 필요 없이 한번에 처리할 있겠죠 ㅎㅎ

       

       

    처음보다는 나름 깨끗 해진것 같습니다

    이번에는 alter 문의 이해를 돕기 위해서 alter 문만 주구장창 한번 써봤는데

       

    다음에는 기본 개념에 대해 알아봅시다

     

       

       

       

    도움말을 생활화합시다!

       

     

Designed by Tistory.