본문 바로가기
IT/SQL 기초강좌 (PostgreSQL)

40강 SQL 초석 다지기 : PostgreSQL Boolean Data Type

by DoitSQL 2022. 12. 22.
728x90

40강 SQL 초석 다지기 : PostgreSQL Boolean Data Type   

PostgreSQL

SQL 초석 다지기 40강 시작합니다.

 

본 강의는 PostgreSQL Tutorial을 참조합니다.  https://www.postgresqltutorial.com/

 

이번 시간에는

 PostgreSQL Data Types

에 대해서 알아보는 첫 시간입니다.

39강 까지 학습하면서 SQL에 어느 정도 익숙해졌지요.
SELECT, INSERT, UPDATE, DELETE를 배웠으니 만들어진 데이터베이스를 가지고 노는 건 되겠지요.

이제 좀 더 깊이 있게 SQL을 파 보도록 하겠습니다.
그래서 제목에도 'SQL 초석 다지기'라고 해보았습니다..

Overview of PostgreSQL data types   

PostgreSQL은 다음과 같은 데이터 유형을 지원합니다.

● Boolean

문자 유형 : char, varchar, text ...

● 숫자 유형 : integer,  numeric, serial ...

시간 유형 : date, time, timestamp ...

UUID : 범용 고유 식별자를 저장

Array : 배열 문자열, 숫자 등을 저장하기 위한 배열

JSON : JSON 데이터를 저장

 hstore : 키-값 쌍을 저장

 Special types : 네트워크 주소 및 기하학적 데이터와 같은 특수 유형

 

위에 언급된 것들을 지금부터 하나씩 살펴보도록 하겠습니다.

 

첫 번째로 Boolean type에 대해서 알아보겠습니다.

 

Introduction to the PostgreSQL Boolean type 

PostgreSQL은 true, false 및 NULL의 세 가지 값을 가질 수 있는 단일 부울 데이터 유형을 지원합니다.

PostgreSQL은 부울 값을 데이터베이스에 저장하는 데 1바이트를 사용합니다. Boolean은 BooL로 약어로 쓸 수 있습니다.

표준 SQL에서 부울 값은 TRUE, FALSE 또는 NULL일 수 있습니다. 그러나 PostgreSQL은 TRUE 및 FALSE 값을 처리할 때 매우 유연합니다.

다음 표는 PostgreSQL의 TRUE 및 FALSE에 대한 유효한 리터럴 값을 보여줍니다.

 True  False
 true  false
 't'  'f'
 'true'  'false'
 'y'  'n'
 'yes'  'no'
 '1'  '0'

선행 또는 후행 공백은 중요하지 않으며 true 및 false를 제외한 모든 상수 값은 작은따옴표로 묶어야 합니다.

 

PostgreSQL Boolean examples   

PostgreSQL 부울 데이터 형식을 사용하는 몇 가지 예를 살펴보겠습니다.

먼저 사용 가능한 제품을 기록하기 위해 새 테이블 stock_availability를 생성합니다.

CREATE TABLE stock_availability (
   product_id INT PRIMARY KEY,
   available BOOLEAN NOT NULL
);

commit;   

 

둘째, 일부 샘플 데이터를 stock_availability 테이블에 삽입합니다. 우리는 부울 값에 다양한 리터럴 값을 사용합니다.

INSERT INTO stock_availability (product_id, available)
VALUES
(100, TRUE),
(200, FALSE),
(300, 't'),
(400, '1'),
(500, 'y'),
(600, 'yes'),
(700, 'no'),
(800, '0'); 

commit; 

 

셋째, 다음 문장을 사용하여 제품의 가용성을 확인하십시오.

SELECT *
FROM stock_availability
WHERE available = 'yes';
   

연산자 없이 부울 열을 사용하여 참 값을 암시할 수 있습니다. 예를 들어 다음 조회는 사용 가능한 모든 제품을 반환합니다.

SELECT *
FROM stock_availability
WHERE available;   


마찬가지로 잘못된 값을 찾으려는 경우 부울 열의 값을 유효한 부울 상수와 비교합니다.

다음 쿼리는 사용할 수 없는 제품을 반환합니다.

SELECT *
FROM stock_availability
WHERE available = 'no';  

또는 NOT 연산자를 사용하여 다음과 같이 부울 열의 값이 거짓인지 확인할 수 있습니다.

SELECT *
FROM stock_availability
WHERE NOT available;


Set a default value of the Boolean column   

기존 부울 열의 기본값을 설정하려면 ALTER TABLE 문에서 SET DEFAULT 절을 사용합니다.

예를 들어 다음 ALTER TABLE 문은 stock_availability 테이블에서 사용 가능한 열의 기본값을 설정합니다.

ALTER TABLE stock_availability 
ALTER COLUMN available
SET DEFAULT FALSE;   

 

사용 가능한 열의 값을 지정하지 않고 행을 삽입하는 경우 PostgreSQL에서 FALSE 사용:

INSERT INTO stock_availability (product_id)
VALUES (900);  

 

SELECT *
FROM stock_availability
WHERE product_id = 900;
   

마찬가지로 테이블을 만들 때 부울 열의 기본값을 설정하려면 다음과 같이 열 정의에서 DEFAULT 제약 조건을 사용합니다.

CREATE TABLE boolean_demo(
   ...
   is_ok BOOL DEFAULT 't'
);   


지금까지 PostgreSQL 부울 데이터 유형 및 이를 사용하여 부울 데이터를 저장하는 방법을 배웠습니다.

 

다음 시간에 만나요.


Do it! SQL을 찾아 주셔서 감사합니다. 공감 ♥ , 댓글이 큰 힘이 됩니다.

 

728x90

댓글