PostgreSQL hstore: 저장 json 结构数据

4411 단어 PostgreSQLSQL
Postgre 지지적 수거형 비상 丰富, 可以储存 mac地址 ip地址 path 노경 수组 등类型.
주택 가능 용도적 정췌부시정다, 부적유창수 据结构你 가능회 수요 hash类型


hstore 储存的结构类似于 MongoDB, 想体验nosql的便利、可用用hstore啊

开启 hstore extension


CREATE EXTENSION hstore;

表结构


CREATE TABLE books (
 id serial primary key,
 title VARCHAR (255),
 attr hstore
);

쏟아지는 수


INSERT INTO books (title, attr)
VALUES
 (
 'PostgreSQL Tutorial',

  '
    "paperback" => "243",
    "publisher" => "postgresqltutorial.com",
    "language"  => "English",
    "ISBN-13"   => "978-1449370000",
    "weight"    => "11.2 ounces"
  '
);

------

-- "author" => "shooter" 多了个作者

INSERT INTO books (title, attr)
VALUES
(
 'PostgreSQL Cheat Sheet',
 '
  "author" => "shooter",
  "paperback" => "5",
  "publisher" => "postgresqltutorial.com",
  "language"  => "English",
  "ISBN-13"   => "978-1449370001",
  "weight"    => "1 ounces"
 '
);

查询


SELECT attr FROM books; -- 普通查询

SELECT
 attr -> 'weight' AS weight
FROM
 books
WHERE
 attr -> 'ISBN-13' = '978-1449370000';

SELECT
 title
FROM
 books
WHERE
 attr @> '"weight"=>"11.2 ounces"' :: hstore;

업데이트


UPDATE books
SET attr = attr || '"freeshipping"=>"yes"' :: hstore;

UPDATE books
SET   attr = '"author"=>"shooter"' :: hstore;

카누제 속성


UPDATE books 
SET attr = delete(attr, 'freeshipping');

hstore

참고:
Use unstructured datatypes Hstore vs JSON vs JSONB

ㅇㅇㅇㅇㅇ아오유. rg / 2013 / 11 / 28 / stg r sql - y /
h tp // w w. 포 stg sq 똥리 l. 이 m / 포 stg 레 sqlhs 토레 /
htps //w w. ← 이후. 코m/쿠에 s치온/20010554/안수 r/62628256

htps : // my. 그래. 네 t/수 ly302/b㎉g/143746 2013년 번체적 문장

좋은 웹페이지 즐겨찾기