일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 리눅스
- java
- SpringJDBC
- @Spring-Test
- Ubunt
- spring aop
- 컨테이너
- @JUnit
- 프로퍼티
- AOP
- JdbcTemplate
- Linux
- Dependency Injection
- Spring Boot
- java spring
- XML
- Spring JDBC
- POJO
- @AspectJ
- spring framework
- Di
- myBatis
- Framework
- 마이바티스
- JDBC TEMPLATE
- spring
- STS
- @test
- pointcut
- unix
Archives
- Today
- Total
개키우는개발자 : )
PostgreSQL 데이터 타입 본문
반응형
데이터 타입
테이블은 컬럼으로 이루어져 있고 컬럼은 다양한 데이터 타입을 지원합니다. 이는 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 컬럼의 데이터를 선택하면 공백도 같이 저장되어 있습니다. 할당된 데이터의 값이 고정된 것을 볼 수 있습니다.
c_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;
반응형
'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