[MSSQL 강좌 - 7] DDL- create.alter,drop


Study/Database  2012. 10. 19. 09:00

안녕하세요. 명월입니다.

저번 포스팅에서는 DML에 대해 알아보았습니다. 이번 포스팅에서는 DDL(Data Definition Language : 데이터 정의 언어)에 대해서 알아보도록하겠습니다. DDL 은 영어 그대로 데이터를 정의하는 언어, 즉 테이블을 생성하거나 테이블을 수정하거나 삭제를 의미 하겠습니다.

그럼 Create,Alter,Drop 에 대해서 알아보도록 하겠습니다.

MSDN - Create Table 바로가기

<참고 : DDL 언어는 꼭 Table 에서만 사용되는 말이 이닙니다. Procedure, Index등의 구조를 뜻하는 모든 것은 DDL이라고 합니다. 그러므로 Create Procedure, Create Index 로서 구문을 사용합니다만, 지금은 순서없이 Procedure, Index를 하면 오히려 헤갈리니 Table 구조부터 완벽히 익히고 진행하도록 하겠습니다.>

이전에 Select 공부할때 한번 살펴 본적이 있어서 이건 예제 하나 살펴보고 지나가겠습니다.

create table Test_table2(
  idx bigint,
  학교 varchar(10),
  지역 varchar(10)
)

다음은 Alter 입니다. Alter는 테이블을 수정할 때 사용합니다. 그럼 MSDN을 살펴 보도록 하겠습니다.

MSDN - Alter MSDN 바로가기

보편적으로 사용하는 구문으로 살펴 보겠습니다.

열 추가 할때는 add 와 함께써서 다음과 같은 구문으로 사용합니다.

alter table 테이블명 add 컬럼명 데이타형

식으로 나타냅니다.

 

그럼 예제로 살펴 보겠습니다.

보시는 바와 같이 컬럼이 하나 추가가 되었습니다.

이번에는 컬럼을 수정해 보도록 하겠습니다. 컬럼은 컬럼 이름은 수정하지 못하고 데이터형이나 나중에 배울 제약 등을 변경할 수 있습니다.

데이터 타입이 수정되었습니다. 이번엔 Alter 의 마지막인 컬럼을 지워보도록 하겠습니다.

여기까지 alter 에 대해서 알아보았습니다.

마지막으로 테이블을 지우는 drop에 대해서 알아보도록하겠습니다

MSDN - Drop MSDN 바로가기

drop의 주의 점은 데이터가 다 지워집니다. 데이터 베이스는 일반 프로그램과 다르게 삭제할 때 다시 한번 묻거나 하지 않고 바로 실행 되어 버립니다. 물론 Transaction 걸고 하면 그 피해를 줄일 수 있으나 Tranction 을 일일히 걸고 작업하지 않는 경우도 있기 때문에 매우 주의해야하는 구문중에 하나겠습니다.

Table 이 삭제 되었습니다.

 

여기까지 DDL에 대해서 알아보았습니다. 위에서도 한번 언급하였지만 DDL은 Table에만 적용 되는 것이 아닙니다. View, Procedure, Database,Index 등등 DML이 사용되지 않는 곳에는 거의 DDL를 사용하게 될 것 입니다. 앞으로 하나하나 소개하면서 Create,Alter,Drop 이 없더라도 사용이 가능하다는 걸 인지하고 공부해야 하겠습니다.

참조쿼리 - 20121019.sql