무료 동영상 강의 https://youtu.be/mx7Qgf6ZJ1I

DATA TYPE


DATA TYPE(데이터자료형)이란 데이터가 가질 수 있는 값의 종류다. 데이터자료형은 테이블을 생성할 때 컬럼(속성)별로 지정할 수 있다. 지정한 데이터자료형에 따라 컬럼 별로 가질 수 있는 값의 종류가 정해진다.

CREATE TABLE 살펴보기

아래는 Item(상품) 테이블을 생성하는 SQL이다. 컬럼별로 VARCHAR(40), DATE와 같은 자료형이 지정된 것을 알 수 있다.

-- [SQL-3-2-1]
-- CREATE 예제입니다. 실행하지 마세요.
CREATE TABLE Item
(
    ItemId               VARCHAR(40)  NOT NULL COMMENT '상품ID',
    ItemNm               VARCHAR(100) NULL     COMMENT '상품명',
    ItemCat              VARCHAR(40)  NULL     COMMENT '상품카테고리',
    ItemSizeCd           VARCHAR(40)  NULL     COMMENT '상품사이즈코드',
    HotColdCd            VARCHAR(40)  NULL     COMMENT '아이스/HOT구분코드',
    LaunchDt             DATE         NULL     COMMENT '출시일자',
    PRIMARY KEY(ItemId),
    CONSTRAINT Item_FK01 FOREIGN KEY(ItemCat) REFERENCES ItemCat(ItemCat)
) COMMENT '상품';

Item(상품) 테이블의 ItemId(상품ID)와 ItemNm(상품명) 컬럼은 문자 형태의 데이터 자료형으로 되어 있다. 아직 다루진 않았지만, 뒤에서 다루게 될 Ord(주문) 테이블의 OrdNo(주문번호)와 OrdAmt(주문금액) 컬럼은 숫자 데이터 자료형으로 되어 있다.

MySQL의 기본 DATA TYPE(자료형)

데이터 자료형은 일반적으로 DBMS(MySQL)에서 제공하는 것 중에 골라서 사용한다. DBMS가 제공하는 기본적인 자료형에는 문자 자료형, 숫자 자료형, 날짜 자료형이 있다. MySQL은 문자 값을 저장하기 위해 CHAR와 VARCHAR라는 문자 자료형을 제공하며, 숫자 값 저장을 위해 INT(=Integer), BIGINT, DECIMAL을 제공한다. 그리고 날짜 값을 위해 DATE와 DATETIME, TIMESTAMP 자료형을 제공한다. 지금 설명한 내용을 그림으로 정리해보면 아래와 같다.

Untitled

문자, 숫자, 날짜는 다른 DBMS도 공통적으로 제공하는 데이터 자료형이다. 다만, DBMS마다 약간씩 다른 이름으로 되어있거나 기능의 차이가 있을 수 있다. 문자, 숫자, 날짜 외에도 매우 다양한 자료형이 존재한다. MySQL에는 어떤 데이터 자료형이 있는지는 아래의 공식 레퍼런스를 참고해보기 바란다. 공식 레퍼런스의 자료형을 모두 외울 필요는 없다. 필요할 때 찾아보면 된다.

위에서 살펴본 자료형에 대해 조금 더 살펴보자.