MySQL 데이터 유형
MySQL은 데이터를 저장합니다. 데이터라면 데이터 유형을 지정하겠습니다. 특정 데이터 유형이 테이블 필드에 지정됩니다. 그러면 삽입된 데이터에는 해당 데이터 유형을 사용해야 합니다. 또한 데이터 유형의 길이 요구 사항을 준수하십시오.
MySQL에서는 데이터 유형을 다음 유형으로 나눕니다.
- 숫자 유형(정수, 부동 소수점)
- 문자열 유형
- 날짜 및 시간 유형
- 복합 유형
- 공간 유형(비과학적 작업 기본적으로 필요하지 않음) , 설명 없음)
정수 유형
MySQL 데이터 유형 | 점유 바이트 | 값 범위 |
---|---|---|
tinyint | 1바이트 | -128~127 |
smallint | 2 바이트 | -32768~32767 |
mediumint | 3바이트 | -8388608~8388607 |
int | 4바이트 | Range-2147483648 ~2147483647 |
bigint | 8바이트 | + -9.22*10의 18제곱 |
정수의 길이도 다르고 실제 사용 과정도 다릅니다.
MySQL은 데이터베이스에서 값을 검색할 때 값을 지정된 길이로 늘릴 수 있도록 선택적 표시 너비 표시기 형태로 SQL 표준을 확장합니다. 예를 들어 필드 유형을 INT(6)로 지정하면 데이터베이스에서 검색할 때 6자리 미만의 값이 자동으로 공백으로 채워집니다. 너비 표시기를 사용해도 필드의 크기나 저장할 수 있는 값의 범위에는 영향을 미치지 않습니다.
- 테이블 필드를 생성할 때 부호 없는 작은 정수를 사용하여 성별을 나타낼 수 있습니다. 0은 여성을 나타내고 1은 남성을 나타냅니다. 알 수 없음을 나타내려면 2를 사용하십시오. 인간 나이와 마찬가지로 테이블 필드를 생성할 때 부호 없는 정수를 사용할 수 있습니다. 실제 사용에서는 인간나이에 음수가 없기 때문이죠. 우리 사업에 저장해야 하는 최대 가치는 얼마입니까? 테이블을 생성할 때 이러한 값을 저장할 유형을 선택합니다.
점유 바이트 | 값 범위 | |
---|---|---|
4바이트 | 단일 정밀도 부동 소수점 유형, m 총 개수 , d 소수 자릿수 | |
8바이트 | 이중 정밀도 부동 소수점 유형, m 총 수, d 소수 자릿수 | |
MySQL 데이터 유형 | 점유 바이트 | 값 범위 |
---|---|---|
CHAR | 0~255바이트 | 고정 길이 문자열 |
VARCHAR | 0-255바이트 | 가변 길이 문자열 |
TINYBLOB | 0-255바이트 | 255자 이하의 바이너리 문자열 |
TINYTEXT | 0-255바이트 | 짧은 텍스트 문자열 |
BLOB | 0 -65535바이트 | 바이너리 형식의 긴 텍스트 데이터 |
TEXT | 0-65535바이트 | 긴 텍스트 데이터 |
MEDIUMBLOB | 0-16 777 215바이트 | 중간 길이의 텍스트 바이너리 형식의 데이터 |
MEDIUMTEXT | 0-16 777 215바이트 | 중간 길이의 텍스트 데이터 |
LOGNGBLOB | 0-4 294 967 295바이트 | 바이너리 형식의 매우 큰 텍스트 데이터 |
LONGTEXT | 0 -4 294 967 295바이트 | 매우 큰 텍스트 데이터 |
VARBINARY(M) | 고정 길이 바이트 0-M바이트 허용 문자열 길이 | 값 + 1바이트 |
BINARY(M ) | M | 은 0-M 바이트의 고정 길이 바이트 문자열을 허용합니다. |
*CHAR * 유형은 고정 길이 문자열에 사용되며 괄호 안에 크기 수정자로 정의되어야 합니다. 이 크기 수정자의 범위는 0-255입니다. 지정된 길이보다 큰 값은 잘리고, 지정된 길이보다 작은 값은 공백으로 채워집니다.
*VARCHAR * 이 크기를 값의 크기로 처리하여 길이가 부족하지 않은 경우 공백을 사용하여 보충하세요. 반면 VARCHAR 유형은 이를 최대값으로 처리하고 문자열을 저장하는 데 실제로 필요한 길이만 사용합니다
유형은 공백으로 채워지지 않지만 표시기보다 긴 값은 여전히 잘립니다.
VARCHAR 유형은 실제 내용에 따라 저장된 값의 길이를 동적으로 변경할 수 있으므로 필드에 필요한 문자 수가 확실하지 않을 때 VARCHAR 유형을 사용하면 디스크 공간을 크게 절약하고 저장 효율성을 향상시킬 수 있습니다.
텍스트 유형 및 blob 유형필드 길이 요구 사항이 255를 초과하는 경우 MySQL은 TEXT와 BLOB의 두 가지 유형을 제공합니다. 이들은 모두 저장된 데이터의 크기에 따라 서로 다른 하위 유형을 갖습니다. 이러한 대용량 데이터는 텍스트 블록이나 이미지, 사운드 파일과 같은 바이너리 데이터 유형을 저장하는 데 사용됩니다.
TEXT와 BLOB 유형은 분류와 비교에 차이가 있습니다. BLOB 유형은 대소문자를 구분하지만 TEXT는 대소문자를 구분하지 않습니다. 다양한 BLOB 및 TEXT 하위 유형에는 크기 수정자가 사용되지 않습니다.
점유 바이트 | 값 범위 | |
---|---|---|
3바이트 | 날짜, 형식: 2014-09-18 | |
3 bytes | time, 형식: 08:42:30 | |
8 bytes | datetime, 형식: 2014-09-18 08:42:30 | |
4 bytes | 자동 동맹 상점 기록의 수정된 시간 | |
1 byte | year |
- Time 유형은 웹 시스템에서 거의 사용되지 않으며 많은 사람들이 좋아합니다. int를 사용하여 시간을 저장합니다. 삽입 시에는 이 방법이 계산에 더 편리하기 때문에 Unix 타임스탬프를 삽입합니다. 프런트엔드 비즈니스에서 날짜 유형 기능을 사용하여 Unix 타임스탬프를 사람들이 인식할 수 있는 시간으로 변환합니다. 실제 상황에 따라 위의 유형을 선택하실 수 있습니다어떤 분들은 데이터베이스 관리에서 보기 쉽도록 시간을 저장하기 위해 datetime 유형을 사용하기도 합니다.
설명 | Example | |
---|---|---|
set(“member”, “member2″, … ) | enum | |
enum(“member1″, “member2″, … “member65535″) |