슬기로운 개발생활

[MySQL] Table 생성 및 데이터 타입

by coco3o
반응형

Table 생성하기

테이블을 생성하기에 앞서 먼저 알아야 될 것은 스키마이다.
스키마는 데이터베이스의 테이블에 저장될 데이터의 구조와 형식을 정의하는 것이다.
즉, 스키마는 데이터의 설계도라고 한다.

그래서, 데이터베이스에 데이터를 아무렇게나 넣는 것이 아닌 테이블에 어떠한 형식으로 데이터들이 삽입되고 저장될것인지를 미리 사전에 설계해야 한다.

출처 : https://server-talk.tistory.com/279?category=752351

위 그림은 회원정보 데이터를 가지고 있는 테이블이다. 위 그림을 기준으로 테이블을 만들어보자.

CREATE TABLE member_table (
 seq        INT NOT NULL AUTO_INCREMENT,
 mb_id     VARCHAR(20),
 mb_pw    VARCHAR(20),
 address   VARCHAR(50),
 mb_tell    VARCHAR(50),  
  PRIMARY KEY(seq)
) ENGINE=MYISAM CHARSET=utf8;

1. member_table : 테이블 명
CREATE TABLE [테이블 명]을 입력 후 ( ) 소괄호 안에 사용하게될 필드명을 입력한다.

2. seq : 자동 인덱스 증가
INT NOT NULL 로 중복이 불가능한 숫자형과 AUTO_INCREMENT로 자동 증가를 설정한다.

3. mb_id -:회원 ID
4. mb_pw : 패스워드
5. address : 주소
6. mb_tell : 연락처

7. seq : 기본키 지정
PRIMARY KEY(seq)를 하여 seq를 기본키로 지정하여 중복이 불가능하게 지정 한다.

8. ENGINE, CHARSET 설정
ENGINE 은 MYISAM으로 지정하고, CHARSET 은 utf-8로 지정하여 가변폭 방식의 인코딩으로 설정한다.


데이터 타입(Data Type) - 자료형

데이터 자료형은 크게 문자형, 숫자형, 날짜형, 선택형으로 나누어 진다.

1. 문자형 타입
보편적으로 많이 쓰이는 것은 CHAR(), VARCHAR(), TEXT이다.

데이터 타입 범위
CHAR() 0 ~ 255 고정 문자 길이
VARCHAR() 0 ~ 65535 가변 문자 길이
TINYTEXT 0 ~ 255 문자길이
TEXT 0 ~ 65535 문자길이
BLOB 0 ~ 65535 문자길이
MEDIUMTEXT 0 ~ 16777215 문자길이
MEDIUMBLOB 0 ~ 16777215 문자길이
LONGTEXT 0 ~ 4294967295 문자길이
LONGBLOB 0 ~ 4294967295 문자길이

CHAR() - 고정 문자일때 사용한다.
- CHAR(10)을 지정하면 10개(10Byte)의 데이터를 입력할 수 있다.
- CHAR(10) 지정 후 데이터를 5Byte를 입력해도 데이터 공간은 10Byte로 자료형 크기만큼 데이터 공간을 차지하게 된다.

VARCHAR() - 가변 문자일때 사용한다.
- VARCHAR(10)을 지정하면 10개(10Byte)의 데이터를 입력할 수 있다.
- VARCHAR(10) 지정 후 데이터를 5Byte를 입력 시 데이터 공간은 10Byte로 데이터 크기만큼만 차지하게 된다.

CHAR(), VARCHAR() 차이점
- CHAR는 검색이나 성능이 뛰어나 정형화 일때 사용되며, VARCHAR는 가변적일때 사용된다.

TEXT
- TEXT는 자연어 검색이 가능하게 하는 것으로 많은 용량을 사용하게 될 때 사용한다.
용도 :
CHAR - 전화번호 같이 정형화 되어 있는 것으로 사용
VARCHAR - 게시판 제목 같이 가변적일 때 사용
TEXT - 게시판의 내용 같이 내용이 많을 때 사용



2. 숫자형 타입

데이터 타입 크기 최소값 최대값
INT 4Byte -2147483648 ~ 2147483647 0 ~ 4294967295
TINYINT 1Byte -128 ~ 127 0 ~ 255 정수형, UNSIGNED
FLOAT 4Byte -3.40E+38 ~ -1.17E-38
DOUBLE 8Byte 1.22E-308 ~ 1.79E+308

TINYINT에 UNSIGNED를 붙이면 양수 즉, 0 ~ 255까지의 정수형을 사용할 수 있고,
SIGNED를 붙이면 -128~127까지의 수를 사용할 수 있다.


3. 날짜형 타입

데이터 타입 크기 최소값
DATE 3Byte YYYY-MM-DD
DATETIME 8Byte YYYY-MM-DD HH:MM:SS
TIMESTAMP 4Byte YYYYMMDDHHMMSS
TIME 3Byte HH:MM:SS

참고

반응형

블로그의 정보

슬기로운 개발생활

coco3o

활동하기