DDL은 데이터 정의 언어로써 테이블(Table), 인덱스(Index), 뷰(View), 저장 프로시저(Stored Procedure) 등과 같은

데이터베이스 개체들을 생성, 수정, 삭제하는데 사용되는 역할을 수행하게 된다.

이러한 DDL에 포함되는 SQL 구문에는 CREATE, ALTER, DROP 등이 있다.

 

1. CREATE문

CREATE문은 테이블(Table), 인덱스(Index), 뷰(View), 저장 프로시저(Stored Procedure) 등과 같은 개체를 생성할때 사용하는 DDL문이다.

CREATE TABLE [dbo].[TB_Member] (
     [user_id] [varchar] (20) NOT NULL
          CONSTRAINT [PK_TB_Member] PRIMARY KEY,
     [user_name] [varchar] (20) NOT NULL ,
     [user_pwd] [varchar] (50) NOT NULL ,
     [user_level] [smallint] NULL ,
     [email_address] [varchar] (250) NOT NULL ,
     [is_valid] [char] (1) NULL ,
     [allow_mailing] [char] (1) NULL ,
     [last_login] [datetime] NULL ,
     [regdate] [datetime] NULL
);

 

2. ALTER문

ALTER문은 생성된 개체를 수정할때 사용하는 DDL문이다.

예를 들어 컬럼을 추가하거나, 컬럼의 데이터 형식이나 제약조건 등을 추가/수정할 수 있다.

-- 컬럼 추가
ALTER TABLE [dbo].[TB_Member] ADD [group_code] int NULL;
 
-- 컬럼 수정 
ALTER TABLE [dbo].[TB_Member] ALTER COLUMN [email_address] [varchar] (250) NOT NULL;
 
-- 기본키 삭제
ALTER TABLE [dbo].[TB_Member] DROP CONSTRAINT PK_TB_Member;
 
-- 기본키 추가
ALTER TABLE [dbo].[TB_Member] ADD CONSTRAINT [PK_TB_Member] PRIMARY KEY CLUSTERED(
     [user_id]
);
 
-- 기본값 지정
ALTER TABLE [dbo].[TB_Member] ADD
     CONSTRAINT [DF_TB_Member_regdate] DEFAULT GETDATE() FOR regdate;
 
-- 외래키 추가
ALTER TABLE [dbo].[TB_Member] ADD CONSTRAINT [FK_tmpGroup_group_code] FOREIGN KEY(
     group_code
) REFERENCES [dbo].[tmpGroup] (
     group_code
);
 
-- 외래키 삭제
ALTER TABLE [dbo].[TB_Member] DROP CONSTRAINT [FK_tmpGroup_group_code];

 

3. DROP문

DROP문은 생성된 개체를 삭제할때 사용하는 DDL문이다.

DROP TABLE [dbo].[TB_Member]