MySQL 데이터 유형

MySQL은 데이터를 저장합니다. 데이터라면 데이터 유형을 지정하겠습니다. 특정 데이터 유형이 테이블 필드에 지정됩니다. 그러면 삽입된 데이터에는 해당 데이터 유형을 사용해야 합니다. 또한 데이터 유형의 길이 요구 사항을 준수하십시오.

MySQL에서는 데이터 유형을 다음 유형으로 나눕니다.

  1. 숫자 유형(정수, 부동 소수점)
  2. 문자열 유형
  3. 날짜 및 시간 유형
  4. 복합 유형
  5. 공간 유형(비과학적 작업 기본적으로 필요하지 않음) , 설명 없음)

정수 유형

MySQL 데이터 유형점유 바이트값 범위
tinyint1바이트-128~127
smallint2 바이트-32768~32767
mediumint3바이트-8388608~8388607
int4바이트 Range-2147483648 ~2147483647
bigint8바이트+ -9.22*10의 18제곱

정수의 길이도 다르고 실제 사용 과정도 다릅니다.

MySQL은 데이터베이스에서 값을 검색할 때 값을 지정된 길이로 늘릴 수 있도록 선택적 표시 너비 표시기 형태로 SQL 표준을 확장합니다. 예를 들어 필드 유형을 INT(6)로 지정하면 데이터베이스에서 검색할 때 6자리 미만의 값이 자동으로 공백으로 채워집니다. 너비 표시기를 사용해도 필드의 크기나 저장할 수 있는 값의 범위에는 영향을 미치지 않습니다.

참고:

    테이블 필드를 생성할 때 부호 없는 작은 정수를 사용하여 성별을 나타낼 수 있습니다. 0은 여성을 나타내고 1은 남성을 나타냅니다. 알 수 없음을 나타내려면 2를 사용하십시오.
  1. 인간 나이와 마찬가지로 테이블 필드를 생성할 때 부호 없는 정수를 사용할 수 있습니다. 실제 사용에서는 인간나이
  2. 에 음수가 없기 때문이죠. 우리 사업에 저장해야 하는 최대 가치는 얼마입니까? 테이블을 생성할 때 이러한 값을 저장할 유형을 선택합니다.
부동 소수점 유형

MySQL 데이터 유형점유 바이트값 범위float(m, d)4바이트단일 정밀도 부동 소수점 유형, m 총 개수 , d 소수 자릿수double(m, d)8바이트이중 정밀도 부동 소수점 유형, m 총 수, d 소수 자릿수decimal(m, d)decimal은 a입니다. 문자열로 저장된 부동 소수점 숫자

참고:

  1. 부동 소수점은 부정확한 값이므로 부정확한 내용이 있을 수 있습니다.
  2. 그리고 소수점은 고정 소수점 숫자라고 합니다. MySQL에서는 기본적으로 문자열로 저장됩니다. 실제 사용 시 금액 및 화폐 정밀도에 대한 요구 사항이 상대적으로 높은 부동 소수점 숫자 저장이 있는 경우 소수(고정 소수점 숫자) 형식을 사용하는 것이 좋습니다.

문자 유형


MySQL 데이터 유형점유 바이트값 범위
CHAR0~255바이트고정 길이 문자열
VARCHAR 0-255바이트 가변 길이 문자열
TINYBLOB0-255바이트255자 이하의 바이너리 문자열
TINYTEXT0-255바이트짧은 텍스트 문자열
BLOB0 -65535바이트바이너리 형식의 긴 텍스트 데이터
TEXT0-65535바이트긴 텍스트 데이터
MEDIUMBLOB 0-16 777 215바이트중간 길이의 텍스트 바이너리 형식의 데이터
MEDIUMTEXT0-16 777 215바이트중간 길이의 텍스트 데이터
LOGNGBLOB0-4 294 967 295바이트 바이너리 형식의 매우 큰 텍스트 데이터
LONGTEXT0 -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 하위 유형에는 크기 수정자가 사용되지 않습니다.

시간 유형

MySQL 데이터 유형점유 바이트값 범위date3바이트날짜, 형식: 2014-09-18시간 3 bytestime, 형식: 08:42:30datetime8 bytesdatetime, 형식: 2014-09-18 08:42:30timestamp 4 bytes자동 동맹 상점 기록의 수정된 시간year1 byteyear
참고:

    Time 유형은 웹 시스템에서 거의 사용되지 않으며 많은 사람들이 좋아합니다. int를 사용하여 시간을 저장합니다. 삽입 시에는 이 방법이 계산에 더 편리하기 때문에 Unix 타임스탬프를 삽입합니다. 프런트엔드 비즈니스에서 날짜 유형 기능을 사용하여 Unix 타임스탬프를 사람들이 인식할 수 있는 시간으로 변환합니다.
  1. 실제 상황에 따라 위의 유형을 선택하실 수 있습니다
  2. 어떤 분들은 데이터베이스 관리에서 보기 쉽도록 시간을 저장하기 위해 datetime 유형을 사용하기도 합니다.
복합 유형

MySQL 데이터 유형설명Examplesetset(“member”, “member2″, … )enum열거 유형enum(“member1″, “member2″, … “member65535″)

ENUM 유형은 컬렉션에서 하나의 값만 얻을 수 있는 반면 SET 유형은 컬렉션에서 원하는 수의 값을 얻을 수 있습니다.

ENUM 유형

ENUM 유형은 집합에서 하나의 값만 얻을 수 있다는 점에서 단일 옵션과 약간 유사합니다. 인간의 성별과 같이 상호 배타적인 데이터를 다룰 때 이해하기가 더 쉽습니다. ENUM 유형 필드는 컬렉션에서 값을 가져오거나 null 값을 사용할 수 있습니다. 다른 입력으로 인해 MySQL은 필드에 빈 문자열을 삽입합니다. 또한, 삽입된 값의 대소문자가 컬렉션에 있는 값의 대소문자와 일치하지 않는 경우, MySQL은 자동으로 삽입된 값의 대소문자를 이용하여 컬렉션의 대소문자와 일치하는 값으로 변환한다.

ENUM 유형은 시스템 내부에 숫자로 저장될 수 있으며, 1부터 시작하는 숫자로 인덱싱됩니다. ENUM 유형은 최대 65536개의 요소를 포함할 수 있으며, 그 중 하나는 MySQL에서 오류 정보를 저장하기 위해 예약되어 있습니다. 이 오류 값은 인덱스 0 또는 빈 문자열로 표시됩니다.

MySQL은 ENUM 유형 컬렉션에 나타나는 값을 합법적인 입력으로 간주하고 다른 입력은 실패합니다. 이는 빈 문자열이나 해당 숫자 인덱스 0이 포함된 행을 검색하면 잘못된 레코드의 위치를 ​​쉽게 찾을 수 있음을 보여줍니다.

SET 유형 SET 유형은 ENUM 유형과 유사하지만 동일하지는 않습니다. SET 유형은 미리 정의된 컬렉션에서 원하는 수의 값을 얻을 수 있습니다. 그리고 ENUM 유형과 마찬가지로 SET 유형 필드에 미리 정의되지 않은 값을 삽입하려고 하면 MySQL이 빈 문자열을 삽입하게 됩니다. 합법적인 요소와 불법적인 요소를 모두 포함하는 레코드를 삽입하면 MySQL은 합법적인 요소를 유지하고 불법적인 요소를 제거합니다.

SET 유형은 최대 64개의 요소를 포함할 수 있습니다. SET 요소에서 값은 해당 요소를 나타내는 "비트"의 개별 시퀀스로 저장됩니다. 비트는 순서가 지정된 요소 컬렉션을 만드는 간단하고 효율적인 방법입니다.
그리고 중복된 요소도 제거하므로 SET 유형에 두 개의 동일한 요소를 포함하는 것이 불가능합니다.
SET 유형 필드에서 잘못된 레코드를 찾으려면 빈 문자열이나 이진 값 0이 포함된 행을 찾으세요.

타입 사용법

너무 많은 타입을 배웠으니, 테이블 문을 생성할 때 해당 타입을 사용하세요.

예:

CREATE TABLE IF NOT EXISTS demo (demo (
   id int(11) NOT NULL,
   username varchar(50) NOT NULL,
   password char(32) NOT NULL,
   content longtext NOT NULL,
   createtime datetime NOT NULL,
   sex id int(11) NOT NULL,
username varchar(50) ) NOT NULL,

password char(32) NOT NULL,🎜 content longtext NOT NULL,🎜 createtime datetime NOT NULL,🎜 섹스tinyint(4) NOT NULL🎜 ) 엔진=InnoDB 기본 문자 집합=utf8;🎜

필드의 기타 속성 설정

UNSIGNED(unsigned)주로 정수 및 부동 소수점 유형에 사용되며 unsigned를 사용합니다. 즉, 앞에 -(빼기 기호)가 없습니다.
더 긴 저장 공간. Tinyint 정수의 값 범위는 -128~127입니다. 부호 없는 사용 후 0~255 길이를 저장할 수 있습니다.

생성할 때 정수 또는 부동 소수점 필드 문을 따르세요.

unsigned

ZEROFILL(0 패딩) 0(공백 아님)을 사용하여 출력 값을 보완할 수 있습니다. MySQL 데이터베이스가 음수 값을 저장하는 것을 방지하려면 이 수정자를 사용하십시오.

생성 시 정수 또는 부동 소수점 필드 문 뒤에 추가:

zerofill

default 기본 속성은 사용 가능한 값이 없을 때 상수 값이 할당되도록 보장합니다. 왜냐하면 MySQL은 상수여야 하기 때문입니다. 함수 또는 표현식 값 삽입을 허용하지 않습니다. 또한 이 속성은 BLOB 또는 TEXT 열과 함께 사용할 수 없습니다. 이 열에 NULL 속성이 지정된 경우 기본값이 지정되지 않으면 기본값은 NULL이 되고, 그렇지 않으면 기본값은 필드의 데이터 유형에 따라 달라집니다.

다음 정수 또는 부동 소수점 필드 문을 사용하여 생성합니다.

기본 '값'

not null열이 null이 아닌 것으로 정의된 경우 해당 열에 null 값을 삽입하는 것은 허용되지 않습니다. 필요한 모든 값이 쿼리에 전달되었다는 기본적인 유효성 검사를 제공하므로 중요한 상황에서는 항상 not null 속성을 사용하는 것이 좋습니다.

생성할 때 정수 또는 부동 소수점 필드 문을 따르세요.

not null

null 열에 null 속성을 지정하면 행의 다른 열이 비어 있는지 여부에 관계없이 열이 비어 있을 수 있습니다. 충전재. null은 빈 문자열이나 0이 아니라 정확하게 "없음"을 의미한다는 점을 기억하세요.

만들 때 정수 또는 부동 소수점 필드 문 뒤에 not null을 선언하지 마세요.

지속적인 학습
  • 코스 추천
  • 코스웨어 다운로드
현재 코스웨어를 다운로드할 수 없습니다. 현재 직원들이 정리하고 있습니다. 앞으로도 본 강좌에 많은 관심 부탁드립니다~