본문 바로가기

DataBase

MSSQL QUERY 문 : ALTER

반응형

ALTER TABLE memeberTbl
ADD mem_point int null
GO

ALTER 
*새롭게 추가된 컬럼은 자동적으로 테이블의 맨 마지막 컬럼이 된다. 
*추가시 내가 임의적으로 컬럼의 위치를 지정할 수 는 없다.

**추가시 내가 임의적으로 컬럼의 위치를 지정할 수 는 없다. 
**그럼 컬럼의 순서나 위치를 변경하고 싶다면? 
-> 안하는게 훨씬 좋다. 
-> 기본적으로는 업무 파악을 잘해서 중간에 변경되지 않도록 함. 
-> 가장 좋은 방법은 애플리케이션이나 쿼리 수준에서 하는 것.
-> 즉 쿼리로 반환된 열에서 순서를 지정하는게 좋다. 

 

 

데이터 존재시 열 삭제 

만약 해당 컬럼에 데이터가 조재할 시 삭제가 될까? 
-데이터가 있거나 없거나 모두 삭제 가능하다. 
-따라서 매우 주의해야 한다. 
삭제된 컬럼은 이후에 복구가 안된다. 
데이터 존재시에는 뭔가 생각해야 될게 많구나 라고 정도로 생각하자. 

열 추가 

열삭제외 다르게 열추가시에는 주의 사항 있음
1. 기존 테이블에 데이터가 있으면 고려사항이 생김
2. NOT NULL 속성을 추가할 수 없다. 
-기존 데이터가 이미 있는데 당연한 이야기임.
3. NULL 값으로 채울 수 도 없다.
아주 방법이 없는건 아니다.

DEFAUT('') NOT NULL 을 넣어주면 된다. 트릭! 
임의의 빈 값을 넣어 주는 거다. 
IDENTITY(1,1) NOT NULL -> 1,2,3,4,
IDENTITY(1,2) NOT NULL -> 1,3,5,7,
NOT NULL을 사용할 수 있다 . 

반응형