두 번째 포스팅입니다 ^^
저번 포스팅에서는 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 |