본문 바로가기

MS-SQL

2. MS-SQL DDL 명령어 정리

두 번째 포스팅입니다 ^^

저번 포스팅에서는 DML을 정리했었는데 이번에는 DDL(Data Definition Language)에 대해 알아보겠습니다.

Definition은 정의라는 단어입니다! 개념의 의미를 규정한다라는 말인데 음.. 이걸 어떻게 하면 까먹지 않고 알 수 있을까요?

사실 마땅히 기억나지가 않아서 그냥 데이터 정의 = 데이터를 만든다 = 만드는 건 create? 라고 외웠어요 ㅋㅋㅋㅋ

너무 성의가 없었나요?.. 그래도 어쩔 수 없습니다. 저는 이렇게 외웠거든요. 혹시 더 좋은 방법이 있다면 댓글로 알려주시면 감사하겠습니다!

DDL에는 크게 create, alter, drop 이렇게 3가지가 있는데 각각 DB를 생성하고 변경하고 제거한다는 의미를 가지고 있습니다.

CREATE DATABASE : 데이터베이스 생성

DROP DATABASE : 데이터베이스 제거

CREATE TABLE : 테이블 생성

ALTER TABLE : 테이블 변경

DROP TABLE : 테이블 제거

쿼리문에서 어떻게 사용되는지 아래에서 보여드리겠습니다.

USE [sqlDB]
GO

/****** Object: Table [dbo].[userTbl] Script Date: 2021-10-06 오전 10:50:54 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[userTbl](
[userID] [char](8) NOT NULL,
[name] [nvarchar](10) NOT NULL,
[birthday] [int] NOT NULL,
[addr] [nchar](2) NOT NULL,
[mobile1] [char](3) NULL,
[mobile2] [char](8) NULL,
[height] [smallint] NULL,
[mDate] [date] NULL,
PRIMARY KEY CLUSTERED
(
[userID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
USE [sqlDB]
GO

/****** Object: Table [dbo].[userTbl] Script Date: 2021-10-06 오전 10:51:49 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[userTbl]') AND type in (N'U'))
DROP TABLE [dbo].[userTbl]
GO

Alter의 경우에는 테이블을 수정하는 역할이기 때문에 테이블 스크립팅에서 회색표시가 돼있는 것으로 추측합니다.

혹시 자세히 알고 계신분이 있다면 알려주시면 감사하겠습니다.

1) 테이블 이름 수정

alter table 테이블_이름 rename to 새로운_이름 ;

2) 테이블 칼럼 추가

alter table 테이블_이름 add 칼럼명 칼럼타입 ;

* 칼럼타입(column_type) : int, varchar 같은 데이터 형태

3) 테이블 칼럼 변경

alter table 테이블_이름 change column 칼럼명 new칼럼명 new칼럼타입 ;

4) 테이블 칼럼 삭제

alter table 테이블_이름 drop 칼럼명 ;

(다른 블로그에 좋은 예시가 있기에 가져왔습니다^^)

본인의 테이블의 쿼리가 어떻게 구성되어있는지 알고 싶은 분들을 위해 올려드립니다^^

아래와 같은 방법으로 확인해보세요ㅎㅎ

'MS-SQL' 카테고리의 다른 글

4. 테이블 제약조건 (기본키,외래키)  (0) 2021.10.07
3. MS-SQL DCL 명령어 정리  (0) 2021.10.07
1. MS-SQL DML 명령어 정리  (0) 2021.10.06