- 단어 하나라도 참조한 곳
http://www.incodom.kr/DB_-_%EB%8D%B0%EC%9D%B4%ED%84%B0_%ED%83%80%EC%9E%85/MYSQL
https://blog.martinwork.co.kr/mysql/2020/01/17/mysql-data-type.html
https://dololak.tistory.com/260
- 숫자형(Number Type) 데이터 유형
UNSIGNED 속성
UNSIGNED 속성을 부여하게 되면 해당 속성을 부여받은 컬럼에는 음수값을 대입하지 못한다. 결제 내역에 대한 테이블을 예시로 들어보도록 하겠다. 결제 금액은 음수값이 될 수 없음을 누구나 알 수 있을 것이다. 이런 경우 UNSIGNED 속성을 부여하여 음수값을 대입하지 못하게 할 뿐만 아니라 대입 가능한 숫자의 범위를 늘려줄 수 있다.
고정 소수형 데이터 타입(DECIMAL)과 부동 소수형 데이터 타입(FLOAT, DOUBLE)
DECIMAL 타입과 FLOAT, DOUBLE의 가장 큰 차이점은 고정 소수형 데이터 타입이냐, 부동 소수형 데이터 타입이냐에 따라 결정되게 된다.
DECIMAL 타입의 경우 앞에서 총 2개의 설정을 값을 부여할 수 있다.
차이 확인 : DECIMAL(5,2) 데이터 타입의 범위는 -999.99 ~ 999.99이다
- decimal_type : 99.99
- float_type : 99.12345678912345679
타입 | 정의 / 범위 |
TINYINT(n) | 정수형 데이터 타입 / 1 Byte(2^8) - 128 ~ + 127 또는 0 ~ 255 수 표현 가능 Unsigned 사용시 0 ~ 255 수 표현 가능 |
SMALLINT(n) | 정수형 데이터 타입 / 2 Byte(2^16) - 32,768 ~ 32,167 또는 Unsigned 사용시 0 ~ 65536수 표현 가능 |
MEDIUMINT(n) | 정수형 데이터 타입 / 3 Byte - 8,388,608 ~ 8,388,607 또는 Unsigned 사용시 0 ~ 16,777,215 수 표현 가능 |
INT(n) | 정수형 데이터 타입 / 4 Byte - 2,147,483,648 ~ 2,147,483,647 또는 Unsigned 사용시 0 ~ 4,294,967,295 수 표현 가능 |
BIGINT(n) | 정수형 데이터 타입(LONG) / 8 byte 숫자형을 무한하게 사용 가능. 2^64 - 1 표현 가능 Unsigned 사용시 양수값 무한하게 사용가능 |
DECIMAL(m, d) 고정형 |
소수점을 사용한 형태. / Default: m ⇒ 10 고정 소수형 데이터 타입고정(길이+1 byte). 화폐 데이터와 같이 데이터의 정확도를 요하는 경우에 주로 사용. M은 전체 자리수(최대값은 65), D는 소수 자릿수(0이면 소수점 가지지 않음). DECIMAL(5,2) 데이터 타입의 범위는 -999.99 ~ 999.99이다 Unsigned 사용 불가 |
FLOAT(n) 부동형 |
부동 소수형 데이터 타입 / 4 byte 부동 소수점을 사용한 형태, 소수점아래 7자리까지 표현 Unsigned 사용 불가 |
DOUBLE(n) 부동형 |
부동 소수형 데이터 타입 / 8 byte DOUBLE을 문자열로 저장, 소수점아래 15자리까지 표현 Unsigned 사용 불가 |
- 문자열(text) 데이터 유형
타입 | 정의 | 길이 |
CHAR(n) | - 고정 길이 데이터 타입 - 지정된 길이보다 짧은 데이터 입력 시 나머지 길이는 공백으로 채워짐 - 검색시, PAD_CHAR_TO_FULL_LENGTH 모드를 설정하지 않으면 공백은 제거됨 |
0 ~ 255 (byte) |
VACHAR(n) | - 가변 길이 데이터 타입 - 지정된 길이보다 짧은 데이터 입력시 공백으로 채우지 않음 -저장시 1-byte 혹은 2-byte 길이 Prefix 데이터를 저장. 이 Prefix 데이터는 값의 바이트 수에 대한 정보를 담는다.( https://dev.mysql.com/doc/refman/8.0/en/char.html) |
0 ~ 65,535 (byte) |
TINYTEXT(n) | - 문자열 데이터 타입(최대 255 byte) - TINYBLOB와 같은 길이값을 저장 가능(단 차이점은 저장 될때 nonbinary string으로 저장) https://dev.mysql.com/doc/refman/8.0/en/blob.html |
0 ~ 255 (byte) |
TEXT(n) | - 문자열 데이터 타입(최대 65,535 byte) - BLOB와 같은 길이값을 저장 가능(단 차이점은 저장 될때 nonbinary string으로 저장) |
0 ~ 65,535 (byte) |
MEDIUMTEXT(n) | - 문자열 데이터 타입(최대 16,777,215 byte) - MEDIRMBLOB와 같은 길이값을 저장 가능(단 차이점은 저장 될때 nonbinary string으로 저장) |
0 ~ 16,777,215 (byte) |
LONGTEXT(n) | - 문자열 데이터 타입(최대 4,294,967,295 byte) - LONGBLOB와 같은 길이값을 저장 가능(단 차이점은 저장 될때 nonbinary string으로 저장) |
0 ~ 4,294,967,295 (byte) |
날짜형 데이터 타입
타입 | 정의 / 길이 |
DATE | 날짜(년도, 월, 일) 형태의 기간 표현 데이터 / 3 byte (1000-01-01 ~ 9999-12-31) 형식: 0000-00-00 (YYYY-MM-DD) |
TIME | 시간(시, 분, 초) 형태의 기간 표현 데이터 / 3 byte 형식: 00:00:00 |
DATETIME | 날짜와 시간 형태의 기간 표현 데이터 / 8 byte (1000-01-01 00:00:00.000000 ~ 9999-12-31 23:59:59.999999) 형식: 0000-00-00 00:00:00 (YYYY-MM-DD hh:mm:ss) |
TIMESTAMP | 날짜와 시간 형태의 기간 표현 데이터 타입 시스템 변경 시 자동으로 그 날짜와 시간이 저장 / 4 byte 형식: Integer |
YEAR | 년도 표현 데이터 타입 / 1 byte 형식: 0000 |
이진 데이터 타입
타입 | 정의 | 길이 |
BINARY(n) & BYTE(n) | CHAR 형태의 이진 데이터 타입 | 최대 255 byte |
VARBINARY(n) | VARCHAR 형태의 이진 데이터 타입 | 최대 65,535 byte |
TINYBLOB(n) | 이진 데이터 타입 | 최대 255 byte |
BLOB(n) | 이진 데이터 타입 | 최대 65,535 byte |
MEDIUMBLOB(n) | 이진 데이터 타입 | 최대 16,777,215 byte |
LONGBLOB(n) | 이진 데이터 타입 | 최대 4,294,967,295 byte |
'工夫 > DB' 카테고리의 다른 글
SQL(Structured Query Language) (0) | 2014.06.29 |
---|
댓글