SQL

[MSSQL] SQL Server 기초 : 테이블 생성(CREATE), 테이블 변경(ALTER) ; 제약조건 추가 / 제거

슈퍼짱짱 2020. 3. 18. 16:46
반응형

SQL Server 기초


1. 테이블 생성 : CREATE TABLE


1-1. 기본


CREATE TABLE [테이블명](

[컬럼명1] [타입]([크기]),

[컬럼명2] [타입],

  ...

)


예)


1
2
3
4
5
6
CREATE TABLE TEST_TABLE(
    ID VARCHAR(10),
    고객명 VARCHAR(10),
    나이 INT,
    가입날짜 DATETIME
)
cs




1-2. 제약조건 추가


* 제약조건의 종류


① PRIMARY KEY

② FOREIGN KEY

③ UNIQUE

④ CHECK

⑤ DEFAULT

⑥ NULL


예1) 


1
2
3
4
5
6
CREATE TABLE TEST_TABLE(
    ID VARCHAR(10NOT NULL PRIMARY KEY-- NULL값 혀용 X, PK
    고객명 VARCHAR(10),
    나이 INT,
    가입날짜 DATETIME NOT NULL DEFAULT GETDATE() -- NULL 입력시 현재시간을 DEFAULT로 채워줌
)
cs


예2) 


1
2
3
4
5
6
7
8
CREATE TABLE TEST_TABLE(
    ID VARCHAR(10NOT NULL-- NULL값 혀용 X
    고객명 VARCHAR(10),
    나이 INT,
    가입날짜 DATETIME NOT NULL DEFAULT GETDATE(), -- NULL 입력시 현재시간을 DEFAULT로 채워줌
    PRIMARY KEY(ID) -- PK는 따로 지정 할 수 있음. 
)
-- PRIMARY KEY(ID, 고객명) 으로 여러개 지정할 수 도 있음.(복합키)
cs


* 현재시간 : GETDATE()

SELECT GETDATE() AS 현재시간




2. 테이블 변경 : ALTER TABLE


* 테이블 구조 확인


SP_COLUMNS TEST_TABLE



TABLE명, COLUMN명, DATA TYPE 및 길이 등 테이블에 구조를 상세히 확인할 수 있다.


테이블 구조 확인 후 변경하고자 하는 부분은 다음과 같이 변경한다.




2-1. 컬럼 추가 : ADD COLUMN


ALTER TABLE [테이블명] ADD [컬럼명] [타입] [속성]


예)


1
ALTER TABLE TEST_TABLE ADD TEMP VARCHAR(2NOT NULL;
cs




2-2. 컬럼 타입 수정 : ALTER COLUMN TYPE


ALTER TABLE [테이블명] ALTER COLUMN [컬럼명] [타입]


예) 기존 VARCHAR 타입의 TEMP COLUMN을 INT 타입으로 변경


1
ALTER TABLE TEST_TABLE ALTER COLUMN TEMP INT;
cs




2-3. 컬럼 제약조건 추가 : ADD COLUMN CONSTRAINT


ALTER TABLE [테이블명] ADD CONSTRAINT [제약조건명] [제약조건]


예) TEMP COLUMN에 DEFAULT 제약조건 추가


1
ALTER TABLE TEST_TABLE ADD CONSTRAINT TEMP_DEFAULT DEFAULT 0 FOR TEMP
cs




2-4. 컬럼 제약조건 삭제 : DROP CONSTRAINT


ALTER TABLE [테이블명] DROP CONSTRAINT [제약조건명]


예) TEMP COLUMN DEFAULT 제약조건 삭제


1
ALTER TABLE TEST_TABLE DROP CONSTRAINT TEMP_DEFAULT
cs




2-5. 컬럼 삭제 : DROP COLUMN


ALTER TABLE [테이블명] DROP COLUMN [컬럼명]


예) TEMP COLUMN 삭제


1
ALTER TABLE TEST_TABLE DROP COLUMN TEMP
cs





반응형