데이터 타입
- BOOLEN 형
- bool로 선언
- T, F, NULL 3종류로만 저장된다.
- 참으로 저장 (TRUE, 'TRUE', 'T','Y','YES','1' )
- 거짓으로 저장 (FALSE, 'FALSE','F','N','NO','0')
- 이외의 경우에는 저장되지 않는다.
- 문자형
- CHAR : 단일문자
- CHAR(N) : 문자열의 길이가 짧으면 공백으로 채워진다.
문자열이 길면 무시된다.
- VARCHAR(N) : 길이가 짧으면 공백으로 채워지지 않는다.
- TEXT : 최대길이를 정의할 필요없는 문자열
- 수치형
- smallint : -32,768 ~ 32,767
- int : -2,147,483,648 ~ 2,147,483,647
- serial : int type 이며 일련번호 증가 타입..
- numeric(p,s) : p자리 실수, s는 소수점 이하.
- float(N) : N자리 정밀도를 가지는 실수값.
- real : 이중정밀도를 가지는 실수 값
- numeric(p,s) : s는 소숫점 이하 자리수
- money :numeric(9,2)와 동일
- bit : 0 과1의 단일비트값을 저장.
- 시간관계형
- date : 날짜 정보저장
- time : 시간정보
- timestamp (or datetime) : 날짜 + 시간 정보
- interval : timestamp간의 시간 간격
- 사용자정의 데이터 형
- create type 명령으로 사용자정의 데이터 타입을 정의할 수 있다.
- 배열형
- 데이터 형 뒤에 []를 붙여준다. (예, int[])
- 배열의 크기는 선언하지 않아도 된다.
- 데이터의 형변환
- cast(column_name AS 변환하고자 하는 데이터타입)
- column_name::변환하고자 하는 데이터타입
- ex) select cast(등록일 as varchar(23)) as "등록일자", 삭제일자::varchar(23) as "삭제일자"
from table_name
출처: http://egloos.zum.com/intothesec/v/1363149
테이블 복사하기
create table table_name as select * from tb;
테이블 삭제
drop table table_name;
drop table table_name cascade;
- 제약조건으로 CASCADE를 사용할 경우 이 테이블과 연관된 view나 개체들도 함께 삭제
타입 변환
expression::type
'2019-06-15'::timestamp;
- :: 연산자를 사용해 간단하게 줄여서 타입 변환을 할 수 있음
컬럼명
컬럼명 오류
- 컬럼명이 대문자일 때 오류가 발생하면 컬럼명을 큰 따옴표("")로 감싸서 사용
select column_name from table;
-> postgresql ERROR: column "column_name" does not exist
select "column_name" from table;