데이터 유형LOGIN

데이터 유형

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

1. 숫자 유형(정수, 부동 소수점)

2. 문자열 유형

시간형

4. 복합형

5. 공간형 (기본적으로 비과학적 작업에서는 사용하지 않으므로 설명하지 않음)

전체형

QQ截图20161009150541.png

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

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

참고:

1. 테이블 필드를 생성할 때 부호 없는 작은 int를 사용하여 성별을 나타낼 수 있습니다. 0은 여성을 나타내고 1은 남성을 나타냅니다. 알 수 없음을 나타내려면 2를 사용하십시오.

2. 인간 나이와 마찬가지로 테이블 필드를 생성할 때 부호 없는 정수를 사용할 수 있습니다. 인간의 나이에는 음수가 없기 때문입니다

3. 우리 사업에 저장해야 하는 최대 가치는 얼마입니까? 테이블을 생성할 때 이러한 값을 저장할 유형을 선택합니다.

부동 소수점 유형

QQ截图20161009150556.png

참고:

1. 값, 부정확한 부분이 있을 수 있습니다

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

문자 종류

QQ截图20161009150618.png

QQ截图20161009150654.png



*CHAR * 유형은 고정 길이 문자열에 사용되며 괄호 안에 크기 수정자를 사용하여 정의해야 합니다. 이 크기 수정자의 범위는 0-255입니다. 지정된 길이보다 큰 값은 잘리고, 지정된 길이보다 작은 값은 공백으로 채워집니다.
*VARCHAR * 이 크기를 값의 크기로 간주하고, 길이가 부족하지 않으면 공백으로 채웁니다. VARCHAR 유형은 이를 최대값으로 처리하고 문자열
을 저장하는 데 실제로 필요한 길이만 사용하지만 유형은 공백으로 채워지지 않지만 표시기보다 긴 값은 여전히 ​​잘립니다.
VARCHAR 유형은 실제 내용에 따라 저장된 값의 길이를 동적으로 변경할 수 있으므로 필드에 필요한 문자 수가 확실하지 않은 경우 VARCHAR 유형을 사용하면 디스크 공간을 크게 절약하고 저장 효율성을 향상시킬 수 있습니다.

텍스트 유형 및 blob 유형 필드 길이 요구 사항이 255를 초과하는 경우 MySQL은 TEXT와 BLOB의 두 가지 유형을 제공합니다. 이들은 모두 저장된 데이터의 크기에 따라 서로 다른 하위 유형을 갖습니다. 이러한 대용량 데이터는 텍스트 블록이나 이미지,
사운드 파일 등과 같은 바이너리 데이터 유형을 저장하는 데 사용됩니다.
TEXT와 BLOB 유형은 분류 및 비교에 차이가 있습니다. BLOB 유형은 대소문자를 구분하지만 TEXT는 대소문자를 구분하지 않습니다. 다양한 BLOB 및 TEXT 하위 유형에는 크기 수정자가 사용되지 않습니다.

시간 유형

QQ截图20161009150720.png

참고: QQ截图20161009150730.png

1. 시간 유형은 웹 시스템에서 거의 사용되지 않습니다. 삽입 시에는 이 방법이 계산에 더 편리하기 때문에 Unix 타임스탬프를 삽입합니다. 프런트엔드 비즈니스에서 날짜 유형 기능을 사용하여 Unix 타임스탬프를 사람들이 인식할 수 있는 시간으로 변환합니다.

2. 실제 상황에 따라 위의 유형을 선택할 수 있습니다

3. 데이터베이스 관리에서 보기 쉽게 하기 위해 날짜/시간 유형을 사용하여 시간을 저장하는 경우도 있습니다.

복합 유형

QQ截图20161009150752.png

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 (
 id int(11) NOT NULL,
 username varchar(50) NOT NULL,
 password char(32) NOT NULL,
 content longtext NOT NULL,
 createtime datetime NOT NULL,
 sex tinyint(4) NOT NULL
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

필드의 기타 속성 설정

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

생성 시 다음 정수 또는 부동 소수점 필드 문을 추가하세요.

unsigned

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

생성 시 다음 정수 또는 부동 소수점 필드 문을 추가합니다.

zerofill

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

생성 시 정수 또는 부동 소수점 필드 설명을 따르세요.

기본 '값'

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

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

not null

null 열에 null 속성을 지정하면 열이 비어 있을 수 있으며, 이에 관계없이 행의 다른 열이 채워졌는지 여부입니다. null은 빈 문자열이나 0이 아닌 "없음"을 의미한다는 점을 기억하세요.

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


다음 섹션
<?php echo "Hello Mysql"; ?>
코스웨어