본문 바로가기
코드정리/Php & Mysql

[생활코딩 _ Mysql ] Table 생성 / Data Type

by Gi-One 2022. 9. 1.

#Mysql #createtable #datatype

 

안녕하세요.

Gi-1의 개발일기입니다.

 

삽입/수정/생성은 구글링을 통해 쉽게 사용할 수 있지만 테이블을 생성할 때 데이터타입을 선택하는 화면을 보면 복잡하다 라는 생각이 듭니다. 우선 데이터타입을 살펴보겠습니다.

 

데이터타입

CHAR( ) 0 to 255 고정문자 길이
VARCHAR( ) 0~65535 가변 문자 길이
TINYTEXT 최대 255 문자길이
TEXT 최대 65535 문자길이
BLOB 최대 65535 문자길이
MEDIUMTEXT 최대 16777215 문자길이
MEDIUMBLOB 최대 16777215 문자길이
LONGTEXT 최대 4294967295 문자길이
LONGBLOB 최대 4294967295 문자길이

 

TINYINT( ) -128 ~ 127 정수형
0 ~ 255 정수형, UNSIGNED
SMALLINT( ) -32768 ~ 32767, 정수형
0 ~ 65535, 정수형, UNSIGNED
MEDIUMINT( ) -8388608 to 8388607, 정수형
0 to 16777215 , 정수형, UNSIGNED
INT( ) -2147483648 ~ 2147483647 정수형
0 ~ 4294967295, 정수형, UNSIGNED
BIGINT( ) -9223372036854775808 ~ 9223372036854775807, 정수형
0 ~ 18446744073709551615, 정수형, UNSIGNED.
FLOAT 작은 부동소수점
DOUBLE( , ) 큰 부동소수점
DECIMAL( , )  

 

DATE YYYY-MM-DD.
DATETIME YYYY-MM-DD HH:MM:SS.
TIMESTAMP YYYYMMDDHHMMSS.
TIME HH:MM:SS.

 

ENUM ( ) 정해진 값을 강제
SET  

 

데이터타입 - 문자

예제)

CREATE TABLE `student` (
`id` tinyint NOT NULL ,
`name` char(4) NOT NULL ,
`sex` enum('남자','여자') NOT NULL ,
`address` varchar(50) NOT NULL ,

 

`birthday` datetime NOT NULL ,
PRIMARY KEY (`id`)
);

 

자주사용 : CHAR, VARCHAR, TEXT, BLOB 

 

CHAR와 VARCHAR의 차이점?

CHAR(4)나 VARCHAR(4) 나 4글자까지만 입력할 수 있는건 같다.

CHAR(4)의 경우 1글자를 적으나 4글자를 적으나 디스크상의 용량이 동일하다.

VARCHAR는(4)의 경우 글자수에따른 디스크상의 용량이 달라 글자수에따른 데이터용량절약에 유리하다.

그럼에도 CHAR를 사용하는 이유는 검색속도에 따른 장점이 있기 때문이다.

 

사용자의 ID나 이름 같은 입력제한수가 적은것은 CHAR, 그와다르게 주소나 길이가 CHAR보단 길게 사용하는 것은 VARCHAR를 사용하는것이 좋다.

 

TEXT는 데이터(용량)을 많이 사용하기 때문에 게시글의 본문같은경우에 사용한다.

 

 

데이터타입 - 숫자

 

자주사용 : INT , TINYINT

 

데이터타입 - 날짜

 

자주사용 : DATETIME, DATE

 

데이터타입 - ENUM

정해져있는 데이터중 하나를 선택하도록 강제할 때 사용한다.

예를들어, 성별의경우 남자와 여자 둘중 하나를 선택하도록 강제한다.

 

 

 

 

 

 

출처 : https://opentutorials.org/course/195/1537

 

Table - 생활코딩

Table 데이터가 실질적으로 저장되는 저장소 스키마(schema)란? 테이블에 적재될 데이터의 구조와 형식을 정의 하는 것 테이블 생성 CREATE TABLE table_name ( 칼럼명1 data_type, 칼럼명2 data_type ) CREATE TABLE `

opentutorials.org

 

 

댓글