개키우는개발자 : )

PostgreSQL 데이터 타입 본문

PostgreSQL/데이터 조작 및 테이블 관리

PostgreSQL 데이터 타입

DOGvelopers 2019. 11. 17. 17:12
반응형

데이터 타입

테이블은 컬럼으로 이루어져 있고 컬럼은 다양한 데이터 타입을 지원합니다. 이는 RDBMS가 제 역할을 하는데 있어서 매우 중요한 부분입니다.

 

Boolean, Character, Numeric

데이터 타입 설명
Boolean Boolean 참(true)과 거짓(false)의 값을 저장
Character CHAR 고정형 길이의 문자열을 저장. 만약CHAR(10)인데 'ABCDE'만 입력할 경우 실제로는 'ABCDE     '로 뒤에 공백을 붙여 저장 됩니다.
  VARCHAR 가변형 길이의 문자열을 저장합니다. 만약 VARCHAR(10) 인데, 'ABCDE'만 입력할 경우 실제로 'ABCDE'만 저장합니다.( 공백X )
  TEXT 대용량의 문자데이터를 저장합니다.
Numeric INT 정수형 데이터를 저장합니다. 크기는 4BYTE이고 범위는 -2,147,483648 to 2,147,483,647
  SMALLINT 정수형 데이터를 저장합니다. 크기는 2BYTE이고 번위는 -32,768 to 32,767
  float 부동 소수점의 데이터를 저장합니다. 크기는 8BYTE 입니다.
  numeric NUMERIC(15,2)와 같이 전체 크기와 소수점의 자리를 지정할 수 있습니다.

 

실습

 

- 각각의 데이터 타입으로 실습테이블 생성

CREATE TABLE DATA_TYPE_TEST1
(
	A_BOOLEAN BOOLEAN,
	B_CHAR CHAR(10),
	C_VARCHAR VARCHAR(10),
	D_TEXT TEXT,
	E_INT INT,
	F_SMALLINT SMALLINT,
	G_FLOAT FLOAT,
	H_NUMERIC NUMERIC(15,2)
);

- 데이터 저장

INSERT INTO DATA_TYPE_TEST1
VALUES 
(
	TRUE,
	'ABCDE',
	'ABCED',
	'TEXT',
	1000,
	10,
	10.12345,
	10.25
);

COMMIT;

 

b_char 컬럼의 데이터를 선택하면 공백도 같이 저장되어 있습니다. 할당된 데이터의 값이 고정된 것을 볼 수 있습니다.

CHAR

c_varchar의 경우는 할당된 값을 가변적으로 적용 되어 있습니다.

VARCHAR

 

Time, Arrays, JSON

데이터 타입 설명
Time DATE 일자 데이터를 저장합니다.
  TIME 시간 데이터를 저장합니다.
  TIMESTAMP 일자와 시간 데이터를 모두 저장합니다.
Arrays array 배열 형식의 데이터를 저장합니다. 한개의 컬럼에 여러개의 데이터를 동시에 저장할 수 있으며 저장한 데이터의 순서로 조회할 수 있습니다.
JSON JSON JSON형식의 데이터를 저장합니다. JSON형식의 데이터를 입력해서 JSON 형식대로 각 LEVEL의 데이터를 저장 할 수 있습니다.

 

실습

 

- 각각의 데이터 타입으로 실습테이블 생성

CREATE TABLE DATA_TYPE_TEST2
(
	A_DATE DATE,
	B_TIME TIME,
	C_TIMESTAMP TIMESTAMP,
	D_ARRAY TEXT[],
	E_JSON JSON
);

- 데이터 저장

INSERT INTO DATA_TYPE_TEST2
VALUES 
(
	CURRENT_DATE,
	localtime,
	CURRENT_TIMESTAMP,
	array ['010-1234-1234','010-4321-4321'],
	'{"customer" : "John Doe","items" : {"product":"Beer","qty":6}}'
);

COMMIT;

실습1

 

반응형

'PostgreSQL > 데이터 조작 및 테이블 관리' 카테고리의 다른 글

PostgreSQL CREATE TABLE AS SELECT (CTAS)  (0) 2019.11.19
PostgreSQL 테이블 생성  (2) 2019.11.17
PostgreSQL IMPORT 작업  (0) 2019.11.17
PostgreSQL EXPORT 작업  (0) 2019.11.16
PostgreSQL UPSERT 문법  (0) 2019.11.16
Comments