# JSON 값 넣기 : https://minaminaworld.tistory.com/133
# 테이블 구조
- index : 인덱스 값 - 형식serial,
- stuName : 학생 이름 - varchar ,
- stuGrade : 학생 학년 - varchar,
- stuInfo : 학생 정보 - json
-- Drop table
-- DROP TABLE "testGroup".teststudentinfo;
CREATE TABLE "testGroup".teststudentinfo (
"index" serial NOT NULL,
"stuName" varchar NULL,
"stuGrade" varchar NULL,
"stuInfo" json NULL
);
-- Permissions
ALTER TABLE "testGroup".teststudentinfo OWNER TO postgres;
GRANT ALL ON TABLE "testGroup".teststudentinfo TO postgres;
# 학생 중에서 4학년인 경우 stuinfo(json) graduteCheck : true 추가.
- 중복 되는 항목이 없기 떄문에, 추가가 된다.
update "testGroup".teststudentinfo set
"stuInfo" = "stuInfo"::jsonb || '{"graduteCheck" : "true"}'
where "stuGrade" = '4';
# 학생 중에서 stuinfo. major가 수학과인 사람을 통계학과로 전환.
- major는 중복 되기 떄문에, 덮어쓰기가 된다.
update "testGroup".teststudentinfo set
"stuInfo" = "stuInfo"::jsonb || '{"major" : "통계학과"}'
where "stuInfo"->>'major' = '수학과';
# 손오공이라는 학생의 전적대인 '경호학과'가 빠졌습니다. 추가합니다.
- json에 json을 넣는 경우도 중복이 되지 않으면, 추가가 된다.
update "testGroup".teststudentinfo set
"stuInfo" = "stuInfo"::jsonb || '{"preUnivercity" : {"major" : "경호학과"}}'
where "stuName"= '손오공';
'[데이터베이스]' 카테고리의 다른 글
[PostgreSQL] ERROR: 오류 "C:/Program Files/PostgreSQL/10/lib/rtpostgis-2.4.dll" 라이브러리를 불러 올 수 없음: The specified module could not be found. (0) | 2021.10.07 |
---|---|
[DB] postgreSQL json - Select 하기 (0) | 2019.10.16 |
[DB] postgreSQL json - insert 하기 (0) | 2019.10.16 |
[데이터베이스] 데이터를 한줄로 합치기 group_concat 함수 사용 (0) | 2018.06.22 |
[데이터베이스] DAO : Data Access Object (0) | 2018.05.04 |