> 데이터 베이스 > MySQL 튜토리얼 > MySQL int형의 길이값 문제에 대한 자세한 설명

MySQL int형의 길이값 문제에 대한 자세한 설명

藏色散人
풀어 주다: 2019-09-19 10:02:14
앞으로
3485명이 탐색했습니다.

mysql에서 테이블을 생성할 때 int 유형 뒤의 길이는 무엇을 의미하나요? 열에 값을 저장할 수 있는 최대 너비가 있습니까? int(1)로 설정해도 10,100,1000을 저장할 수 있는 이유는 무엇입니까?

int(1)의 길이 1이 허용되는 저장 너비를 나타내지 않는다는 것을 당시에는 알고 있었지만 합리적인 수준이 아니었습니다. 설명. 즉, 저는 이 길이가 무엇을 나타내는지 실제로 연구하지 않았습니다. 저는 보통 int(11)를 사용하는데 왜 11비트가 필요한지 모르겠습니다. 그래서 인터넷에서 몇 가지 정보를 확인하고 int 데이터 유형에 대해 mysql 매뉴얼에 나와 있는 내용도 주의 깊게 읽어보았습니다.

추천: "mysql tutorial"

다음은 mysql의 각 정수 유형의 저장 공간과 범위입니다. manual)

MySQL int형의 길이값 문제에 대한 자세한 설명

테이블에는 필드 유형, 점유된 바이트 수, 저장 가능한 최소값, 저장 가능한 최대값의 4개 열이 있습니다.

int 유형을 예로 들어보겠습니다.

int 유형 , 점유 단어 섹션 수는 4바이트입니다. 컴퓨터 원리를 공부한 학생들은 바이트가 컴퓨터 저장의 가장 작은 단위가 아니라는 것을 알아야 합니다. 비트는 0 또는 1을 나타냅니다. ; 8비트가 바이트를 구성합니다. 일반적으로 바이트는 대문자 B로 표시되고 비트는 소문자 b로 표시됩니다.

컴퓨터 저장 단위 변환:

1B=8b

1KB=1024B

1MB= 1024KB

그러면 int 유형이 저장할 수 있는 바이트 수는 4바이트이므로 int UNSIGNED(unsigned) 유형이 저장할 수 있는 최소값은 0이고 최대값은 4294967295(즉, 4B)라고 계산할 수 있습니다. =32b, 최대값은 32개로 구성됨);

다음으로 테이블을 만들 때 필드 길이에 대해 이야기해 보겠습니다.

CREATE TABLE test (
id INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
number INT( 5 ) NOT NULL
) ENGINE = MYISAM ;
로그인 후 복사

테스트 테이블의 숫자 필드를 예로 들면, 내가 만든 것은 다음과 같습니다. int (5)

MySQL int형의 길이값 문제에 대한 자세한 설명

이 길이/값은 mysql 매뉴얼에서 "M"으로 표시됩니다. 주의 깊은 친구들은 mysql 매뉴얼에서 다음 문장을 알아차렸을 것입니다: M은 최대 디스플레이 너비를 나타냅니다. 최대 유효 표시 너비는 255입니다. 표시 너비는 저장 크기나 유형에 포함된 값의 범위와 관련이 없습니다.

이 문장에는 "최대 표시 너비"라는 쉽게 혼동되는 키워드가 있기 때문에 이해하기 쉽지 않은 것 같습니다. 우리의 첫 번째 반응은 이 필드에 대한 저장 가능한 값의 최대 너비입니다. int(1)을 구축하면 데이터 10을 저장할 수 없다고 생각했습니다. 그렇지 않습니다.

이 M=5는 MYSQL 데이터베이스에 저장된 데이터를 알리기 위해 이 길이를 설정했기 때문에 간단히 이해할 수 있습니다. 물론, 5자리가 아닌 경우(이 유형의 저장 범위 내에 있는 한) MYSQL에서도 정상적으로 저장할 수 있습니다. 이는 위에서 빨간색으로 표시된 단어를 설명할 수도 있습니다.

이 필드의 "속성"을 "UNSIGNED ZEROFILL로 변경하고 효과를 살펴보겠습니다.

MySQL int형의 길이값 문제에 대한 자세한 설명

이제 숫자 필드의 길이(M)=5, 속성 = UNSIGNED ZEROFILL을 확인합니다. (부호 없음, 자릿수를 채우려면 0을 사용하십시오.) 이 속성을 설정한 후 테이블에 데이터를 삽입하면 시스템은 자동으로 숫자 필드 M을 왼쪽에 0으로 채우고 5자리 미만으로 채웁니다. follow

MySQL int형의 길이값 문제에 대한 자세한 설명

매뉴얼에는 다음과 같은 문장도 있습니다. "mysql을 일부 복잡한 연결(조인)에 사용할 때 임시 테이블을 생성할 때 문제가 발생할 수 있습니다. 이 경우 mysql은 모든 값을 신뢰하기 때문입니다. 원래 열 너비에 맞게 이 너비를 적절하게 설정하는 방법도 궁금합니다.

하지만 이 문서를 읽고 나서 분명히 알아야 할 한 가지는 길이 M은 저장하는 숫자의 크기와 아무런 관련이 없다는 것입니다.

위 내용은 MySQL int형의 길이값 문제에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:cnblogs.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿