개발자의 끄적끄적

[SQL] ALTER TABLE 문. 테이블 수정하기 [펌] 본문

개발/sql

[SQL] ALTER TABLE 문. 테이블 수정하기 [펌]

효벨 2020. 5. 27. 01:00
728x90
반응형

[SQL] ALTER TABLE 문. 테이블 수정하기 [펌]

 

 

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 문만 주구장창 한번 써봤는데

   

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

 

   

   

   

도움말을 생활화합시다!



출처: https://121202.tistory.com/27 [책방 창고]

반응형
Comments