#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
'코드정리 > Php & Mysql' 카테고리의 다른 글
[PHP] 리퍼러 체크 후 검색 도메인 알아내기 [네이버, 구글, 다음] (0) | 2022.11.18 |
---|---|
[Php & Mysql] 회원가입 및 로그인 만들기 (0) | 2022.10.10 |
[생활코딩] WEB3 - PHP & MySQL, PHP로 게시판 만들기 (0) | 2022.10.09 |
[생활코딩 _ Mysql] 메뉴얼 및 관련자료 (0) | 2022.08.28 |
[생활코딩 _ MYSQL _ 1] MYSQL? DATABASE? (0) | 2022.08.28 |
댓글