zoukankan      html  css  js  c++  java
  • jdbc访问pipelinedb

    建立Stream及视图

    pipeline.execute("create stream caesar(name text,info json);") 
    #创建stream,字段name和info,info为json类型
    pipeline.execute("create continuous view caesar_view as select name,info from caesar;")
    # 创建源于caesar流的caesar_view视图,包括字段name和info

    数据插入

    模板:

    import psycopg2
    from psycopg2.extras import Json
    conn = psycopg2.connect("dbname='pipeline' user='caesar' password='123' host='localhost' port=5432")
    pipeline = conn.cursor()
    caesar = {"name":"ciro","info":{"age":19,"id":2}}
    caesar = {key:Json(value) if isinstance(value,dict) else value for key,value in caesar.items()}
    sql = """insert into caesar (name,info) values ('%(name)s',%(info)s) ;""" %(caesar)
    pipeline.execute(sql)
    conn.commit()

    1.使用psycopg2建立数据库连接

    2.from psycopg2.extras import Json用以转化字典为json存入数据库

    3. {key:Json(value) if isinstance(value,dict) else value for key,value in caesar.items()} 将字典数据转为json

    批量插入

    #数据list
    caesar = [{"name":"ri","info":{"age":20,"id":3}}]
    #将list中字典中value为字典的转为json
    caesar_list=[]
    for ca in caesar:
        caesar_list.append({key:Json(value) if isinstance(value,dict) else value for key,value in ca.items()})
    sql = """insert into caesar (name, info) values (%(name)s,%(info)s);"""
    #批量存入数据库
    pipeline.executemany(sql,caesar_list)

    数据查询

     执行查询语句 select * from caesar_view where name='river';

    rows = pipeline.fetchall() 返回数据元组列表,查询插入的json,返回后为字典

    pipelinedb不支持连续视图的修改和更新

  • 相关阅读:
    【转载】一键安装maven脚本
    secureCRT的自动登录设置
    vi相关内容
    windows上的命令telnet
    【转载】bash: ifconfig: command not found 解决办法
    【转载】Linux中profile、bashrc、bash_profile之间的区别和联系
    virgo-tomcat没有任务错误日志的停掉的解决办法
    【转载】Linux kill, killall, kill -9
    #!bin/sh是啥
    Mysql 查找表中的多组前n大元素
  • 原文地址:https://www.cnblogs.com/CaesarLinsa/p/10124555.html
Copyright © 2011-2022 走看看