一、登錄數據庫html
psql -U postgres -d postgressql
二、建立數據庫hstore,並安裝extension數據庫
create database hstore;
create extension hstore;json
三、建表post
create table users(
id serial,
info hstore
);spa
四、插入數據postgresql
insert into users values(1,'"name"=>"zhangsan","age"=>"20"');code
五、查詢數據htm
select info from users;教程
六、增長數據
update users set info = info || '"company"=>"Qunar"' :: hstore;
七、刪除數據
update users set info = delete(info, 'company');
八、將key值轉爲set輸出。
select skeys(info) from users;
九、將key值轉爲array輸出。
select akeys(info) from users;
十、將value值轉爲set輸出。
select svals(info) from users;
十一、將value值轉爲array輸出。
select avals(info) from users;
十二、將hstore值轉爲array輸出。
select avals(info) from users;
1三、查詢age爲20的全部記錄。
查詢以前再入兩條數據
insert into users values(1,'"name"=>"lisi","age"=>"20"');
insert into users values(1,'"name"=>"wangwu","age"=>"21"');
查詢
select * from users where info@'age=>20';
文檔參考:http://www.postgresql.org/docs/current/static/hstore.html
提要:在本教程中,咱們將向您展現如何使用 PostgreSQL HSTORE 數據類型。
hstore 模塊實現了將鍵/值對
存儲到單個值的 HSTORE
數據類型。注意,HSTORE
中的 鍵
和 值
都只能是字符串。
使用 HSTORE
數據類型以前,須要先啓用 hstore 模塊:
CREATE EXTENSION hstore;
HSTORE
數據類型的表CREATE TABLE books ( id serial primary key, title VARCHAR (255), attr hstore );
INSERT INTO books (title, attr) VALUES ( 'PostgreSQL 輕鬆學', '"paperback" => "685", "publisher" => "sjk66.com", "language" => "簡體中文", "ISBN-13" => "1234567890123", "weight" => "412 克"' );
SELECT attr -> 'ISBN-13' AS isbn FROM books;
SELECT attr -> 'weight' AS weight FROM books WHERE attr -> 'ISBN-13' = '1234567890123'
UPDATE books SET attr = attr || '"freeshipping"=>"yes"' :: hstore;
UPDATE books SET attr = attr || '"freeshipping"=>"no"' :: hstore;
UPDATE books SET attr = delete(attr, 'freeshipping');
HSTORE
字段是否包含某個鍵SELECT title, attr->'publisher' as publisher, attr FROM books WHERE attr ? 'publisher';
SELECT title FROM books WHERE attr @> '"weight"=>"412 克"' :: hstore;
SELECT title FROM books WHERE attr ?& ARRAY [ 'language', 'weight' ];
SELECT akeys (attr) FROM books;
或
SELECT skeys (attr) FROM books;
SELECT avals (attr) FROM books;
或
SELECT svals (attr) FROM books;
SELECT title, hstore_to_json (attr) json FROM books;
SELECT title, (EACH(attr) ).* FROM books;
不知道能不能當hbase使用