[DataBase] DDL (데이터 정의어)

 

데이터베이스


(1) SQL (Structured Query Language)

  • 관계형 데이터베이스를 조작하기 위한 표준 언어

  • 기본 구문 형태는 Select, 원하는 컬럼 이름, From, 테이블 이름

 

[그림 1] SQL 명령

 

SQL은 대소문자를 구분하지 않으며, SELECT와 select 또는 Select 모두 같은 명령으로 인식한다.

 

SELECT 뒤에 *는 모든 Column을 조회한다는 의미이다.

 

SQL은 명령어의 역할에 따라 DDL, DML, DCL로 구분할 수 있다.


(2) DDL (Data Definition Language, 데이터 정의어)

  • 데이터 구조를 정의하는 명령어

  • CREATE, DROP, TRUNCATE, ALTER 등이 있음

 

가) CREATE

  • 데이터베이스 또는 테이블 생성

[그림 2] CREATE DATABASE

 

[그림 3] CREATE DATABASE

 

데이터베이스는 다양한 데이터 타입을 담을 수 있으므로, 테이블을 생성하면서 각각의 Column에 이름과 함께 데이터 타입을 지정해주어야 한다.

 

 

[표 1] Oracle 데이터 타입

데이터 타입 설명
varchar2 (size) 가변 길이 문자열 저장
size는 1Byte에서 4KB까지 지정 가능
nvarchar2 (size) 가변 길이 유니코드 문자열 저장
size를 명시해야 하며 최대 4KB까지 지정 가능
number ANSI SQL 데이터 타입에서 integer / int / smallint 역할
정수를 저장
float 소수점 아래 숫자를 포함한 수 저장
date 날짜 정보를 담음
저장 형식은 환경 변수 NLS_DATE_FORMAT에서 확인 가능
timestamp 날짜 / 시간 관련 정보를 담음
DATE (YEAR, MONTH, DAY), TIME (HOUR, MINUTE, SECOND)
char (size) 고정 길이 문자열 저장
size는 1Byte에서 2KB까지 지정 가능
nchar (size) 고정 길이 유니코드 문자열 저장
size는 1Byte에서 2KB까지 지정 가능

 

 

[표 2] MySQL 데이터 타입

데이터 타입 설명
char (size) size 만큼의 고정 길이 문자열
문자열 길이는 최대 255까지 가능
varchar (size) 최대 size만큼의 길이의 문자열 담음
최대 255까지의 문자열 저장 가능
255를 넘어선 문자열은 text 타입으로 바뀜
text 최대 65,353 Byte 문자열을 담음
int (size) -2,147,483,648부터 2,147,483,647까지 정수 담음
앞에 unsigned를 지정한다면 0부터 4,294,967,295까지 정수 담음
size로 담을 수 있는 최대 정수를 정할 수 있음
float (size, d) 소수점을 가지는 수를 담음
size로 담을 수 있는 최대 숫자를 정할 수 있음
d로 표현할 수 있는 소수점 자리수를 정할 수 있음
date() 날짜 데이터를 담음
형식 : YYYY-MM-DD
datetime() 날짜 / 시간 정보를 담음
형식 : YYYY-MM-DD hh : mm : ss
time() 시간 데이터를 담음
형식 : hh : mm : ss
year() 두 자리 또는 네 자리 숫자로 표기된 연도 데이터
형식 : YYYY 또는 YY

 

 

[표 3] SQL Server 데이터 타입

데이터 타입 설명
char (n) 고정 길이 문자열 데이터
n으로 길이 지정
최대 8000개 문자 저장 가능
varchar (n) 가변적 길이 문자열 데이터
n으로 최대 저장 가능 길이 지정
최대 8000개 문자 저장 가능
text 가변적 문자열 데이터
최대 2GB까지 저장 가능
nchar 고정 길이 유니코드 문자열 데이터
최대 4000개 문자 저장 가능
nvarchar 가변 길이 유니코드 문자열 데이터
최대 4000개 문자 저장 가능
ntext 가변 길이 유니코드 문자열 데이터
최대 2GB까지 저장 가능
bit 0 또는 1 또는 Null
int -2,147,483,648부터 2,147,483,647까지의 정수 데이터
smallmoney -214,748.3648부터 214,748.3647까지의 통화 데이터
money -922,337,203,685,477.5808부터 922,337,203,685,477.5007까지의 통화 데이터
float (n) 소수점을 포함하는 숫자 데이터
n으로 소수점 자릿수 정할 수 있음
datetime 날짜 / 시간 정보를 담음
형식 : YYYY-MM-DD hh : mm : ss
datetime2 datetime과 같지만 조금 더 정확한 날짜 / 시간 정보를 담음
형식 : YYYY-MM-DD hh : mm : ss
date 날짜 정보를 담음
형식 : YYYY-MM-DD
time 시간 정보를 담음
timestamp 테이블의 Row가 생성 또는 갱신될 때마다 변경되는 고유 숫자
테이블 내 자체적인 시간을 따르며 실제 시간과 일치하지 않음
xml XML 형식 데이터 저장
최대 2GB
table 추후 작업을 위해 결과 값을 저장

 

 

[표 4] Microsoft Access 데이터 타입

데이터 타입 설명
Text size 만큼의 고정 길이 문자열
문자열 길이는 최대 255까지 가능
Memo 최대 size만큼의 길이 문자열을 담음
최대 255까지의 문자열 저장 가능
255를 넘어선 문자열은 text 타입으로 바뀜
Byte 최대 65,353 Byte의 문자열을 담음
Integer -32,768부터 32,767까지의 정수를 담음
Long -2,147,483,648부터 2,147,483,647까지의 정수를 담음
Single 소수점 아래의 숫자 표현 가능
4Byte
Double 소수점 아래의 숫자 표현 가능
8Byte
Currency 통화 데이터를 담음
15자리의 숫자와 소수점 아래 4자리까지 표현 가능
Date / Time 날짜 / 시간 데이터를 담음
Yes / No Yes/No, True/False, On/Off와 같은 논리 데이터를 담음
Ole Object 이미지, 오디오, 비디오 등을 저장할 수 있음
Hyperlink 웹 페이지를 포함한 하이퍼링크를 담음 

 

 

나) DROP

  • 데이터베이스 또는 테이블 삭제

  • 내부 데이터가 모두 사라지므로 사용 시 주의 필요

  • 데이터베이스 DROP할 경우 관리자 권한 필요

 

[그림 4] DROP DATABASE

 

[그림 5] DROP TABLE

 

 

다) TRUNCATE

  • DROP과 비슷한 명령어

  • 테이블 자체는 유지하면서 내부 데이터만 전부 삭제할 때 사용

 

[그림 6] TRUNCATE TABLE

 

 

라) ALTER

  • Column을 추가 또는 제거하거나 데이터 타입을 변경하는 데 쓰이는 명령어

  • MODIFY의 경우 DBMS마다 구문이 조금씩 다름

 

1) ALTER ~ ADD

[그림 7] ALTER ~ ADD

 

2) ALTER ~ DROP

[그림 8] ALTER ~ DROP

 

3) ALTER ~ MODIFY

[그림 9] ALTER _ MODIFY

 

4) MSSQL / Oracle

[그림 10] MSSQL/Oracle

 

5) SQL Server / MS Access

[그림 11] SQL Server / MS Access


# Reference

 

http://www.yes24.com/Product/Goods/87579830

'DB' 카테고리의 다른 글

[DataBase]DCL (데이터 제어어)  (0) 2020.03.20
[DataBase] DML (데이터 조작어)  (0) 2020.03.20
[DataBase] DBMS(Database Management System)  (0) 2020.03.18
[DataBase] 데이터베이스 모델  (0) 2020.03.16
[DataBase] 데이터베이스 기초  (0) 2020.03.06

+ Recent posts