SQLite 데이터 유형
SQLite의 프로시저와 함수를 통해 복잡한 쿼리를 생성하려면 손실이나 잘못된 데이터 조작을 방지하기 위해 다양한 데이터 유형을 알아야 합니다.
데이터 유형의 중요성
데이터 유형은 프로시저 또는 함수 내에서 특정 데이터 세트를 정의하는 데 필요한 변수에 직접 연결됩니다. 데이터 유형의 주요 목적은 어떤 종류의 데이터가 변수 내에 저장될 것인지를 시스템에 알리는 것입니다.
이는 데이터 조작이 저장된 데이터를 기반으로 하기 때문에 매우 중요합니다. 예를 들어 변수에 텍스트를 저장하는 경우 특정 숫자를 추가하면 문자의 ASCII 값이 증가하고 새 값이 반환됩니다.
문자 A
를 문자로 저장하고 1
을 추가하면 ASCII 값이 증가하고 B
가 반환됩니다. 같은 방식으로 숫자 65
를 문자 변수에 저장하면 A
가 저장되고 하나를 추가하면 문자 B
에 해당하는 값 66
이 됩니다.
이는 함수를 생성하는 동안 또는 테이블의 열 내에서도 데이터 유형의 중요성을 표시합니다. 텍스트 데이터 유형에 숫자를 저장하고 숫자를 추가하려는 경우 문자로 끝나거나 그 반대의 경우도 마찬가지입니다.
결과적으로 SQLite의 데이터 유형과 이를 사용하는 올바른 방법을 잘 이해하는 것이 중요합니다.
SQLite의 데이터 유형
SQLite에는 여러 데이터 유형이 있습니다. 올바르게 저장하고 조작하려면 다음 각 항목에 대해 잘 알고 있어야 합니다.
Blob
: Blob에 저장된 데이터는 동적으로 간주될 수 있습니다. 변경 없이 입력된 그대로 저장됩니다.Null
: 이름에서 알 수 있듯이 null 값을 의미합니다. 공백이나 캐리지 리턴은 모두 ASCII 값을 가지며 시스템에서 독립 문자로 간주되기 때문에 아무 것도 저장하지 않으려면 null을 선택하는 것이 가장 좋습니다.텍스트
: 저장해야 하는 모든 문자열에 사용됩니다. SQLite 버전에서 고안한 최대 저장 용량 내에 있는 한 어떤 길이든 될 수 있습니다. 대부분의 경우 문자열은 UTF-8, UTF-16BE 또는 UTF-16LE와 같은 일반적인 데이터베이스 인코딩을 사용하여 저장됩니다.Integer
: 모든 정수 값에 사용됩니다. 0을 포함하여 모든 양수 및 음수 정수를 저장할 수 있습니다. 데이터를 저장하는 데 사용되는 바이트 수는 값의 크기에 따라 다릅니다.Real
: 정수 데이터 유형은 정수에만 적용되므로real
데이터 유형은 부동 소수점 값에 사용됩니다. 이들은 양수와 음수 모두 10진수 값을 갖는 숫자입니다.
SQLite의 선호도 유형
데이터 유형에 대해 논의하는 동안 선호도 유형에 대해 논의하는 것이 좋습니다. 위에서 언급한 데이터 유형은 스토리지 클래스라고도 합니다.
이들의 세분은 열에 대해 설계된 기본 스토리지 클래스인 친화성 유형입니다. 주요 목적은 SQLite와 다른 데이터베이스 간의 호환성을 최대화하는 것입니다.
SQLite의 선호도 유형에는 다음이 포함됩니다.
텍스트
: null, 텍스트 또는 blob 값을 포함하는 데이터를 저장합니다.Numeric
: 5개의 스토리지 클래스를 모두 저장할 수 있는 선호도 유형을 원하는 경우 유용합니다.정수
: 이것은숫자
와 매우 유사하게 작동하지만 캐스트 표현식으로 인해 차이가 발생합니다.Real
: 일반 정수를 부동 소수점 값으로 변환한다는 점을 제외하면 정수와 유사합니다.None
:None
을 사용하면 스토리지 클래스가 우선하지 않습니다. 따라서 한 데이터 유형을 다른 데이터 유형으로 변환하려는 시도가 없으며 그대로 유지됩니다.
실수 대 숫자 데이터 유형
실제
및 숫자
데이터 유형은 상당히 겹치기 때문에 올바르게 사용할 수 있도록 몇 가지 설명을 제공하는 것이 가장 좋습니다. 기본적으로 real
은 부동 소수점 숫자와 같은 소수점 구성요소가 있는 숫자 데이터에 사용됩니다.
소수가 없는 다른 숫자는 종종 정수와 함께 사용됩니다. 이것은 매우 간단하지만 유사성으로 인해 이해하기가 약간 까다롭습니다.
숫자는 다음 유형의 데이터와 연관되도록 도입된 유사성입니다.
Numeric
Decimal (10,5)
Boolean
Date
Datetime
실제
는 이 목록의 구성 요소가 아니므로 모든 종류의 부동 소수점 숫자가 숫자
유형에 포함되지 않는다는 결론을 내릴 수 있습니다. 결과적으로 일반 정수 또는 소수(10.5)를 저장하려는 경우 숫자
가 작동합니다.
다른 부동 소수점 숫자의 경우 숫자가 가장 좋은 옵션입니다.
선호도의 목적은 SQLite와 다른 데이터베이스 간의 호환성을 향상시키는 것임을 명심하십시오. 결과적으로 특정 유사성에 대한 일부 소속은 SQLite에서 직접 사용하지 못할 수 있습니다.
SQLite 데이터 유형 사용
이제 SQLite의 다양한 데이터 유형을 자세히 이해했으므로 이를 사용하는 방법을 알아야 합니다.
테이블에서 SQLite 데이터 유형 사용
테이블을 생성하는 동안 열에서 직접 데이터 유형을 사용할 수 있습니다. 이는 다음과 같이 수행할 수 있습니다.
CREATE TABLE table_name(a INT, b TEXT, c REAL);
이렇게 하면 데이터 유형이 다른 세 개의 열이 있는 테이블이 생성됩니다.
참고: 테이블을 생성하는 동안 올바른 데이터 유형을 선택했는지 확인하십시오. 변경할 수 있지만 복잡한 쿼리가 포함되거나 기존 테이블을 삭제하고 다시 만들어야 합니다.
함수 또는 프로시저에서 SQLite 데이터 유형 사용
SQLite에서 데이터 유형으로 변수를 생성하는 것은 약간 까다롭습니다. 값을 변수에 올바르게 저장하려면 먼저 임시 메모리 맵 테이블을 만들어야 합니다.
다음은 예입니다.
BEGIN
PRAGMA temp_store = 2;
CREATE TEMP TABLE table_name(Name TEXT, Age INTEGER);
INSERT INTO table_name (Name) VALUES ('abc');
END
Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!
GitHub