데이터베이스에서 사용할 MYSQL의 데이터 유형

데이터베이스 관리자에 대해 배우고 있습니까? 이 경우, 귀하는 자신에게 다음 사항을 알려야 합니다. MySQL의 데이터 유형, 세계에서 가장 많이 사용되는 것 중 하나입니다. 기회를 놓치지 마세요!.

MySQL-2의 데이터 유형

MySQL의 데이터 유형

응용 프로그램의 데이터를 저장하는 데 사용할 수 있는 테이블을 만들어야 할 때마다 보관해야 하는 모든 것을 더 잘 저장하는 데 사용되는 데이터 유형을 식별하는 방법을 알아야 합니다. 숫자 데이터, 문자열(영숫자), 날짜 및 시간의 세 가지 중에서 선택할 수 있습니다.

MYSQL 테이블의 이러한 필드에서 우리는 세 가지 유형의 콘텐츠 중에서 선택할 수 있으며, 명백해 보이지만 데이터를 어디로 보낼지, 스토리지가 어떤 유형의 그룹에 속할지 결정합니다. 여기에 우리 자신을 넣을 예가 있습니다 문맥상: 예, 사람의 나이를 저장할 수 있는 필드가 필요합니다. 그러면 숫자 데이터 필드가 됩니다.

하지만 계속 설명하기 전에 MySQL이 무엇인지 아십니까? 세계에서 가장 널리 사용되는 오픈 소스 데이터베이스 관리자 중 하나로 알려져 있습니다. 얼마나 인기가 있는지 알 수 있도록 WordPress는 2003년부터 존재해 온 다양한 유형의 콘텐츠 관리자이며 웹 페이지의 약 55%에서 60%가 이 덕분에 존재하고, 데이터베이스로 MySQL을 사용하므로 얼마나 유용하고 범위가 넓을 수 있는지 증명합니다.

MySQL은 2010년에 구매를 담당한 Oracle Corporation 회사에 속해 있습니다. 이 관리자는 여러 가지 용도로 사용됩니다. 예: 실습, 설치 수행, 웹 페이지 수정, 데이터 읽기 등.

이 드라이버는 쉽게 다운로드할 수 있으며 사용하는 Windows에 따라 여러 버전이 있으므로 같은 방식으로 설치하는 것이 매우 쉽습니다.

대부분의 데이터베이스 드라이버는 프로그래밍 언어를 통해 사용됩니다. 예를 들어 컴퓨터에 있는 정보를 데이터베이스에서 사용할 수 있지만 이를 보고 관리해야 할 때 프로그래밍 언어를 사용한다고 가정해 보겠습니다. MySQL의 경우 워드프레스를 개발할 때 사용하는 웹 개발 언어로 알려진 php가 함께 제공된다.

속도를 위해 다양한 Windows 버전에서 사용할 수 있는 XAMPP 도구를 다운로드하는 것이 좋습니다. XAMPP에는 다음과 같은 일련의 구성 요소가 있습니다.

  • Apache: 이것은 웹 서버가 될 것입니다.
  • PHP: 웹 개발 언어.
  • Fillezilla: 그는 파일 동원을 담당하고 있습니다.
  • Mercury: 테스트를 하는 목적이 있는 메일 서버입니다.
  • MySQL: 앞서 언급했듯이 데이터베이스 서버입니다.

XAMPP를 설치한 후에는 직접 시작하여 그래픽 인터페이스에 연결할 수 있는 MySQL을 포함하여 이러한 모든 구성 요소를 즐길 수 있습니다. 따라서 다른 구성 요소가 있을 뿐만 아니라 XAMPP가 매우 유용합니다.

이 모든 것을 명확하게 하고 우리는 데이터를 저장할 테이블 유형에 대한 옵션 내에서 숫자 데이터 필드에 대해 말하면 이 동일한 내에서 다른 유형이 있으며 어떤 것이 가장 좋은지 알아야 합니다. 물리적 저장 공간을 덜 소비할 수 있는 기회를 제공하고 해당 분야에 저장하고자 하는 데이터의 기회를 제공할 것입니다. 이러한 질문을 이해하는 유일한 방법은 MySQL이 우리에게 제공하는 다양한 유형의 데이터입니다. 아래에서 각 그룹의 가장 적절한 사용을 이해하기 위해 해당 정보를 제공할 것입니다.

아래 비디오에서 MySQL의 데이터 유형과 이에 대해 알아야 할 모든 것에 대한 집중 과정을 볼 수 있도록 초대합니다. 배울 기회를 놓치지 마세요!:

수치 데이터

MySQL에서 한 유형의 데이터와 다른 유형의 데이터 사이에서 찾을 수 있는 차이점은 단순히 포함할 수 있는 값의 범위입니다. 숫자 데이터 내에서 정수와 소수라는 두 개의 큰 가지를 구별할 수 있음을 확인해야 합니다. 이제 우리에게 주어진 상황과 우리가 필요로 하는 것에 따라 가질 수 있는 수치 데이터의 유형을 설명하고자 합니다.

숫자 정수

이 시점에서 가장 먼저 설명하고 싶은 것은 이러한 유형의 데이터를 저장하는 옵션이 소수 없이 연령, 수량 및 규모라는 것입니다. 또한 각 필드에 대해 어떤 유형의 데이터를 선택해야 하는지 더 잘 이해할 수 있도록 예를 제시하고자 합니다.

우리는 최대값 127을 저장할 수 있는 데이터 유형인 TINYINT를 제시합니다. 따라서 사용자의 연령에 대한 필드를 정의해야 하는 경우 정상적인 연령 범위가 해당 숫자 내에 있기 때문에 사용할 수 있는 것입니다. , 그리고 우리가 성경의 구약 시대에 살고 있지 않다면 생물학적으로 그 숫자를 능가한 사람은 없습니다. 따라서 아니오, 이러한 유형의 데이터는 제한이 567에 도달하면 128을 저장할 수 없습니다. 예를 들어 127도 저장할 수 없습니다.

이제 수천 가지의 다양하고 다양한 물건을 판매하기 위해 대규모 시장의 식별자에 대한 필드를 정의하려는 경우 이는 기하급수적으로 변경될 것입니다. 분명히 TINYINT는 더 이상 우리에게 서비스를 제공하지 않습니다. 게다가 우리는 품목의 양을 매우 정확하게 알아야 합니다. 판매하지만 현재 가지고 있는 것뿐만 아니라 가까운 미래에 대한 예측을 하려고 하면 이러한 방식으로 스토리지 시스템이 빨리 구식이 되지 않을 것입니다.

최대 32,000개의 기사까지 번호를 매길 수 있는 SMALLINT와 같은 것을 사용할 수 있지만, 예를 변경하고 시장에서 사용자가 5만 명인 전화 회사의 고객 테이블에 사용해야 하는 ID 필드로 이동하면 SMALLINT는 더 이상 가질 수 없지만 MEDIUMINT와 같은 다른 것은 가질 수 없으며 계속해서 우리 회사에 200억 명의 클라이언트가 있는 경우 INT 유형의 필드를 사용해야 합니다. 문제가 변덕스러워 지구에 살고 있는 각 인간을 식별하는 필드를 정의하려는 경우 BIGNIT 필드에 도움을 요청해야 합니다. INT 유형은 최대 XNUMX천만 개까지만 허용하기 때문입니다. 데이터의 다른 조각, 그리고 그것은 분명히 우리에게 도달하지 않을 것입니다.

또한 게임의 점수를 저장하려고 할 때 찾을 수 있는 음수 값이나 테이블이 표시할 수 있는 XNUMX 미만의 표시가 있는지 확인하고 싶습니다.

부호 없는 값

음수 연령을 갖는 것은 전혀 의미가 없을 것입니다. 각 데이터의 최대 양수 값 제한을 두 배로 늘릴 가능성이 있는 경우 해당 필드가 음수 값을 저장할 수 있는 가능성을 제거하면 양수 저장 제한과 일반적으로 값을 저장할 수 있는 TINYINT 유형 필드가 두 배로 늘어납니다. 127개 중 이제 0에서 255까지의 값을 저장할 수 있습니다.

그리고 부호가 없는 필드를 어떻게 정의합니까? UNSIGNED 수정자를 통해 숫자 필드를 정의할 수 있습니다. 이것을 사용하여 속성과 UNSIGNED 값을 읽는 열을 찾아야 하며 이 필드는 더 이상 음수 값을 포함할 수 없으므로 저장 용량이 두 배로 늘어납니다.

길이로 찾을 열의 필드를 정의할 때 방금 선택한 저장 용량과 일치하는 숫자를 작성하는 것이 중요하다는 점을 언급할 가치가 있습니다. 나이 예제를 계속해서 TINYNIT로 작업하는 경우 길이로 XNUMX을 입력해야 하며 더 크거나 작은 숫자가 아닙니다.

소수가 포함된 숫자

가격, 급여, 은행 계좌 금액 등은 소수가 포함된 숫자 값으로 이동했고 정수는 뒤에 남겨두고 이러한 데이터 유형을 쉼표로 부분 정수를 구분하기 때문에 "부동 소수점"이라고 부른다는 사실에도 불구하고 실제로 MySQL 데이터 유형 사이의 소수 부분은 마침표로 구분하여 저장합니다. 여기에서 FLOAT, DOUBLE 및 DECIMAL의 세 가지 유형의 데이터가 있습니다.

FLOAT를 사용하면 최소 -999.99에서 최대 999.99 값을 저장할 수 있습니다. 부호는 계산되지 않지만 이들을 구분하는 점, 즉 소수점, 예, 그렇기 때문에 총 0자리가 될 것이라는 점을 고려하십시오. 그러나 그 중 24개는 소수점입니다. 그러나 우리는 XNUMX과 XNUMX 사이의 소수 수량을 갖도록 강요하는 단순 정밀도 범위라는 것을 가지고 있습니다.

반면, DOUBLE은 정밀도가 25배이므로 소수점 이하 자릿수는 23~64까지만 정의할 수 있습니다. 단순 정밀도인 FLOAT를 사용하면 반올림 문제가 발생하고 나머지 소수점 자리가 손실될 수 있습니다. 설명해야 할 것이 남아 있는 것은 DECIMAL로 길이는 더 짧지만 정확도는 최대로 요구되는 화폐 값을 저장하는 데 가장 적합하며 반올림 없이 이러한 유형의 데이터는 저장할 숫자에 고정 너비를 할당합니다. 이 유형의 데이터에 대한 최대 총 자릿수는 30이며, 그 중 XNUMX은 허용되는 최대 소수 자릿수이며, 가격, 임금 및 통화를 저장하기에 충분합니다.

소수점 1

영숫자 데이터

마지막으로 숫자 데이터 범주를 떠나 새 범주를 입력합니다. 여기서는 문자열 저장에 대해 더 나은 방법으로 설명하고 MySQL의 데이터 유형 중 CHAR, VARCHAR, BINARY, VARBINARY, TINYBLOB, TINYTEXT, BLOB, TEXT, MEDIUMBLOB, MDIUMTEXT, LONGBLOB, LONGTEXT, ENUM 및 SET는 저장하려는 데이터에 따라 각각 고유한 특성과 장점이 있습니다.

날짜 및 시간 데이터

이것은 MYSQL의 데이터 유형과 관련하여 마지막 범주가 될 것입니다. 참조 데이터, 날짜 및 시간을 저장하는 몇 가지 옵션이 있음을 확인하고 서로의 차이점과 주요 용도를 확인하여 각 경우에 적절한 유형의 데이터를 선택할 수 있습니다.

날짜

MySQL에서 이러한 유형의 데이터를 사용하면 처음 XNUMX자리는 연도, 다음 XNUMX자리는 월, 마지막 XNUMX자리는 일에 속하는 날짜를 저장할 수 있습니다. 일, 그 다음 달, 그리고 연도의 경우 MYSQL의 경우 완전히 반대입니다.

DATE 필드를 읽을 때 연도와 월을 구분하는 대시로 표시되지만 이 데이터를 삽입하면 모든 작업을 연속적으로 수행할 수 있습니다. 예를 들어 다음과 같이 볼 수 있습니다. this: 2018-06-04 및 다음과 같이 삽입하십시오. 20180604. DATE에서 처리할 수 있는 날짜 범위는 1000-01-01부터 9999-12-31까지입니다.

10,000년 전에 일어난 사건과 관련이 없고 그것을 폭로해야 하는 경우가 아니면 이 형식에 문제가 없을 것입니다. 반면에 이 형식을 사용하면 거의 XNUMX년에 도달했기 때문에 미래를 내다보면 더 많은 기회가 있습니다.

날짜 시간

DATETIME으로 정의된 필드를 사용하면 날짜가 아닌 순간, 순간의 정보를 저장할 수 있습니다. 날짜와 일정은 별도로 먼저 연도, 월, 일을 갖게 됩니다. , 그러면 시, 분, 심지어 초까지 가질 수 있습니다. 형식은 다음과 같습니다.

  • YYYY- MM- DD HH: MM: SS

날짜 부분은 DATE 유형(10,000년)과 유사한 범위, 즉 1000-01-01부터 9999-12-31까지입니다. 일정의 일부는 00:00:00부터 23:53:53까지 진행됩니다. 완료된 모든 것은 다음과 같습니다: 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59.

TIME

여기에서 시간, 분, 초를 저장할 수 있습니다. 예, 이전 데이터 유형도 저장했지만 TIME을 사용하면 -839: 59: 59에서 839: 59: 59까지의 허용 범위가 있습니다. 이것은 현재 날짜에 대해 앞뒤로 약 35일에 걸쳐 있습니다. 이 유형의 데이터는 두 가까운 순간 사이의 경과 시간을 계산하는 데 이상적입니다.

타임 스탬프

여기에는 DATETIME과 매우 유사할 수 있는 데이터 유형이 있지만 형식과 범위는 다르지만 날짜와 시간을 저장하는 데 여전히 유용합니다. 이 형식의 필드를 사용하면 세 가지 옵션이 제공될 수 있습니다. 첫 번째는 YYYY-MM-DD HH: MM: SS, 두 번째는 YYYY-MM-DD, 세 번째는 더 간단합니다: YY-MM-DD .

여기서 우리는 14, 8 또는 6자리의 가능한 길이를 가질 가능성이 있습니다. 그것은 모두 우리가 제공하는 정보에 달려 있습니다. 이 형식은 이 필드가 처리하는 범위가 1970-01-01에서 2037년까지이기 때문에 다른 형식만큼 역사적이거나 미래적이지 않습니다.

또한 흥미로운 사실로 레코드가 삽입되거나 업데이트될 때마다 값이 자동으로 업데이트되도록 설정할 수 있습니다. 이러한 방식으로 우리는 항상 해당 데이터의 마지막 업데이트 날짜와 시간을 이 필드에 보관할 것입니다. 프로그래밍할 필요 없이 제어하는 ​​것이 정말 이상적입니다.

phpMyAdmin에서 이것을 정의하려면 속성에서 "업데이트 시" CURRENT_TIMESTAMP를 선택하고 기본값으로 CURRENT_TIMESTAMP를 선택하기만 하면 됩니다. 레코드를 삽입하거나 수정할 때 값이 자동으로 업데이트될 수 있는 필드입니다.

필드를 YEAR로 정의해야 하는 경우 70자리와 99자리를 사용하여 연도를 저장할 수 있습니다. 70에서 99까지의 두 자리 숫자로 수행하는 경우(1970에서 1999까지를 사용하면 00에서 69까지의 연도 범위에 해당한다는 것을 이해하고 2000에서 2069까지의 숫자가 있으면 다음을 수행할 수 있습니다. 1901년에서 2155년까지를 의미하는 것으로 이해), XNUMX자리 숫자를 제공하는 경우 가능한 범위가 확장된 다음 XNUMX년에서 XNUMX년으로 확장된다는 것을 알 수 있습니다.

우리는 또한 MySQL의 데이터 유형과 관련이 없지만 날짜 및 시간과 관련이 있지만 추가 가능성이 있습니다. 이 추가 가능성은 PHP 시간 함수를 사용하여 타임스탬프 값을 생성하는 것입니다.

어쨌든, 우리는 그 값을 10자리 INT 필드에 저장할 수 있습니다. 이런 식으로 우리 필드의 값을 정렬하는 것은 매우 간단할 것입니다(예를 들어 뉴스 항목의 날짜를 넣을 수 있음) 그런 다음 우리는 PHP의 자체 날짜 처리 기능을 사용하여 읽을 수 있도록 값 타임스탬프를 변환하여 해당 날짜를 표시할 수 있습니다.

날짜-시간-1

MySQL의 데이터 유형에 대한 이 기사를 통해 우리가 설명하고자 하는 모든 것을 충분히 명확하게 할 수 있었고 모든 정보에 따라 데이터베이스와 테이블을 생성하고 필드를 전체 정밀도로 정의하는 방법을 배웠기를 바랍니다. 따라서 데이터 및 속성 유형으로 사용하여 적절하게 프로그래밍을 시작할 수 있는 능력 또는 조건에 있으며, 이제 정확히 어떤 형식이 필요한지, 무엇에 따라 우리의 필요에 맞는지 명확하게 알 수 있습니다. 우리는 프로그래밍해야합니다.

프로그래밍과 관련된 다른 기사를 즐기시기 바랍니다. 객체 지향 프로그래밍의 다형성.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 담당 : Actualidad 블로그
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.