도서/모두를 위한 postgreSQL

Day4. 데이터 타입

joje* 2023. 6. 20. 23:19

1.데이터 타입

: 각 컬럼 속에 있는 데이터의 성질

: 대표적인 타입들은 아래와 같다

  • 숫자형
  • 화폐형
  • 문자형
  • 날짜 및 시간
  • 불리언형
  • 배열형
  • 제이슨형

1.1 숫자형 데이터 타입

  • INTEGER(4byte) : 정수데이터 사용시 이용
  • NUMERIC(정수형 자릿수, 소수점 이하 자릿수)(가변적): 실수 데이터 사용시 이용
  • FLOAT(4byte, 8byte): 실수 데이터 사용시 이용
  • SERIAL(4byte)- 실수 데이터 사용시 이용: INTEGER 기본값으로 1씩 추가되며, 값이 자동 생성, 프라이머리 키 데이터 타입으로 주로 사용.

1.2 화폐형 데이터 타입

: 금액을 저장하는 데이터 타입으로 분수의 형태로 금액을 저장한다.

: 분수의 정밀도는 lc_monetary 설정을 따르고, 테이블에서는 소수점 두 자릿수까지 표현된다.

  • MONEY

1.3 문자형 데이터 타입

  • VARCHAR(n): 문자열의 길이가 가변적인 경우 사용.
  • CHAR(n):n의 자릿수에 맞춰 고정 문자열을 입력할 때 사용. 문자열의 길이가 N 미만인 경우 나머지 자리는 공백으로 채워넣는다.
  • TEXT: 문자열의 길이가 가변적인 경우 사용.문자열 길이에 제한이 없다.

1.4 날짜 및 시간 데이터 타입

: SHOW TIMEZONE; 명령어를 이용해 시간대 정보를 조회할 수 있다.

: SET TIMEZONE = 'AMERICA/Los_Angeles'; 명령어를 이용해 timezone을 조정할 수 있다.

  • TIMESTAMP WITHOUT TIME ZONE(=TIMESTAMP)(8 bytes): 시간대 정보를 반영하지 않은 경우
  • TIMESTAMP WITH TIME ZONE(=TIMESTAMPTZ)(8 bytes)
  • DATE(4 bytes)
  • TIME WITHOUT TIME ZONE(= TIME)(8 bytes): 시간대 정보를 반영하지 않은 경우
  • TIME WITH TIME ZONE(12 bytes)

1.5 불리언 형 데이터 타입

: 논리형 데이터 타입이며 일반적으로 참(true), 거짓(false) 2가지 상태를 나타내나 postgreSQL에서는 Null 상태를 추가로 지닌다.

: True, yes, on ,1 값은 모두 참으로 인식한다.

: False, no, off, 0 값을 모두 거짓으로 인식한다.

  • True
  • False
  • Null

1.6 배열형 데이터 타입

: 여러 데이터를 하나의 집합으로 관리하기 위한 데이터 타입

: 하나 이상의 여러 데이터를 저장할 수 있다.

: 데이터 타입 선언 시 []를 붙이면 배열형 데이터 타입이 생성된다.(VARCHAR[],BOOLEAN[]....)

 

  • INSERT INTO contact_info VALUES(001, 'Postgres', Array[01012345678,01033335555],'Post@gmail.com');
  • INSERT INTO contact_info VALUES(002, 'Qostgres', '{01011112222,01044446666}','Qost@gmail.com');

1.7 JSON 형 데이터 타입

: JSON은 key-value 쌍으로 구성된 JSON 오브젝트와 배열과 비슷한 구조를 지니는 JSON 배열로 나뉜다.

: JSON 오브젝트의 밸류에는 숫자, 문자열, JSON 배열, JSON 등이 올 수 있다.

  • JSON :처리속도가 느리지만, 입력한 텍스트의 정확한 사본을 생성한다.
  • JSONB: 처리속도가 비교적 빠르지만, 텍스틀 이진 형태로 분해 후 저장해 데이터 저장속도가 느리다.

INSERT INTO develop_book_order 

VALUES( 001, '{"customer":"Jaejin","books":{"product":"맛있는","qty":2}}'),
(002, '{"customer":"Yunsang","books":{"product":"mongoDB","qty":3}}'),
(003, '{"customer":"Sojung","books":{"product":"쉬운 sql","qty":1}}');

 

1.8 데이터 타입 변경하기

: CAST 연산자 또는 CAST 형 연산자 2가지 형변환 연산자를 이용해 데이터 타입을 변경한다.

  • CAST 연산자: SELECT CAST ( 표현식 AS 바꿀 데이터 타입);
  • CAST형 연산자: SELECT ( 표현식 :: 바꿀 데이터 타입);

'도서 > 모두를 위한 postgreSQL' 카테고리의 다른 글

DAY6. Alter Table  (0) 2023.06.22
DYA5. 데이터의 무결성  (1) 2023.06.21
Day3.sql 명령어  (0) 2023.06.19
Day2.PostgreSQL 프로세스 구조  (0) 2023.06.16
Day1.데이터베이스란 무엇인가?  (0) 2023.06.16