一、登录数据库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使用