'db json'에 해당되는 글 2건

 

# 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;


# 학생 중에서 address가 '인천광역시'인 사람.

-- # ->> 표시를 통해서 json 내부의 값을 비교할 수 있다.
select * from "testGroup".teststudentinfo as t where t."stuInfo"->>'address' = '인천광역시';

 


# 전체 학생들의 학년과 주소만을 표시

select "index" as index, "stuName" as name, "stuInfo"->'address' as Address from "testGroup".teststudentinfo as t ;


# 학생들 중 json 값중 specific 키 값이 없는 사람들

select * from "testGroup".teststudentinfo as t where t."stuInfo" ->> 'specific' is null;


# 학생 중에 preUnivercity 값을 갖고 있는 사람 중에 경영학과인 사람

select * from "testGroup".teststudentinfo as t where t."stuInfo" -> 'preUnivercity' ->> 'major' = '경영학과';

 


 

블로그 이미지

미나미나미

,

# 테이블 구조 

       - 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;

 

 


# insert 하기 

       - json 값 넣는 방법

                 -  '{ "key" :  "value" }'

       - json안에 json을 넣는 방법 :

                 -  '{ "key" :  { "key" :  "value"} }'

INSERT INTO "testGroup".teststudentinfo("stuName", "stuGrade", "stuInfo")
VALUES('강감찬', '2', '{ "address" : "서울특별시" , "major" : "수학과" }');

INSERT INTO "testGroup".teststudentinfo("stuName", "stuGrade", "stuInfo")
VALUES('허준', '1', '{ "address" : "서울특별시" , "major" : "국어국문과" }');

INSERT INTO "testGroup".teststudentinfo("stuName", "stuGrade", "stuInfo")
VALUES('세종대왕', '4', '{ "address" : "서울특별시" , "major" : "국어국문과" }');


INSERT INTO "testGroup".teststudentinfo("stuName", "stuGrade", "stuInfo")
VALUES('손오공', '4', '{ "address" : "부산광역시" , "major" : "체육학과" , "specific" : "태권도"}');

-- json 안에 json을 넣는 방법  
INSERT INTO "testGroup".teststudentinfo("stuName", "stuGrade", "stuInfo")
VALUES('손오반', '2', '{ "address" : "인천광역시" , "major" : "체육학과" , "specific" : "농구"}');


select * from "testGroup".teststudentinfo as t;

# 결과화면.

블로그 이미지

미나미나미

,