# JSON 값 넣기 : https://minaminaworld.tistory.com/133

 

[DB] postgreSQL json - insert 하기

# 테이블 구조 - index : 인덱스 값 - 형식serial, - stuName : 학생 이름 - varchar , - stuGrade : 학생 학년 - varchar, - stuInfo : 학생 정보 - json -- Drop table -- DROP TABLE "testGroup".teststudentin..

minaminaworld.tistory.com


# 테이블 구조 

       - 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"= '손오공';

 


 

블로그 이미지

미나미나미

,