본문 바로가기
Programming/SQL

CREATE TABLE, ALTER TABLE ( 컬럼 추가,삭제,변경 등) 방법

by 제타 2018. 4. 22.
반응형

이번 시간에는 테이블을 생성하고 변경(컬럼 추가, 컬럼 수정, 컬럼 삭제, 컬럼 이름 변경, 테이블 이름 변경)하는 방법을 알아보겠다.



테이블 생성하기

CREATE TABLE 문으로 테이블을 생성하는 방법이다.

USE TESTDB;

CREATE TABLE dbo.person(

BusinessEntityID bigint NOT NULL,

PersonType varchar(2) NOT NULL,

FirstName varchar(50) NOT NULL,

MiddleName varchar(50) NULL,

LastName varchar(50) NOT NULL

) ON FG01


여기에 컬럼을 추가하며 default 제약을 추가해보자. 예를 들어서 닉네임 컬럼을 추가하면서 빈 문자를 default로 지정하면 다음과 같이 하면 된다.


컬럼 추가하기

ALTER TABLE dbo.person

ADD NickName varchar(50) DEFAULT('') NOT NULL

GO


그리고 IDENTITY 속성도 지정해보자. 예를 들어서 seq 컬럼을 추가하면서 IDENTITY를 주는데 이는 오라클의 시퀀스랑 비슷한 개념이며 IDENTITY(1,1)은 1부터 시작하여 1씩 증가시킨다는 이야기이다.



ALTER TABLE dbo.person

ADD seq bigint IDENTITY(1,1) NOT NULL

GO


컬럼 삭제하기

예를 들어서 닉네임 컬럼을 삭제하는 방법은 다음과 같다.


ALTER TABLE dbo.person DROP COLUMN NickName

GO


컬럼 수정하기

예를 들어서 MiddleName  컬럼을 의 타입을 varchar(150)에 nullable로 바꾸는 방법은 다음과 같다.


ALTER TABLE dbo.person ALTER COLUMN MiddleName varchar(150) null 

GO


컬럼 이름 수정하기

예를 들어서 MiddleName 컬럼을 TestName으로 이름을 변경하는 방법은 다음과 같다.

EXEC sp_rename 'dbo.person.MiddleName', 'TestName', 'COLUMN'


테이블 이름 수정하기

예를 들어서 person 테이블을 student로 이름을 변경하는 방법은 다음과 같다.

EXEC sp_rename 'dbo.person', 'student', 'OBJECT'


물론 테이블을 변경할 때 (삭제나 스키마 변경)은 종속성이 없어야한다. 다른곳에서 참조하고 있는데 바꿀수는 없다.


테이블 삭제

student 테이블을 삭제하는 방법은 다음과 같다.

DROP TABLE person




반응형