建立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不支持连续视图的修改和更新

jdbc访问pipelinedb的更多相关文章

  1. Java jdbc访问sqlserver,oracle数据库

    1.JDBC访问Oracle数据库 public class Jdbc_Oracle { // 静态代码块,只会执行一次,类似C#静态构造方法 static { try { // 加载数据库驱动一次 ...

  2. 如何通过JDBC访问数据库

    Java数据库连接(JDBC)用与在Java程序中实现数据库操作功能,它提供了执行SQL语句.访问各种数据库的方法,并为各种不同的数据库提供统一的操作接口,java.sql包中包含了JDBC操作数据库 ...

  3. 使用JDBC访问SQLServer 2008

    使用JDBC访问SQLServer 2008 // 准备数据库驱动程序 String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriv ...

  4. java web中Jdbc访问数据库步骤通俗解释(吃饭),与MVC的通俗解释(做饭)

    一.Jdbc访问数据库步骤通俗解释(吃饭) 1)加载驱动 Class.forName(“com.microsoft.jdbc.sqlserver.SQLServer”); 2) 与数据库建立连接 Co ...

  5. 用JDBC访问ORACLE数据库 关于commit 增快效率 大数据 等的整理

    1.问:用JDBC访问ORACLE数据库,做DELETE操作,能用JAVA多线程实现吗? ORACLE服务器要怎么配?(以下答案来自网络,仅供参考) 答: Oracle有自己的锁机制.就算你开100条 ...

  6. 在Eclipse中使用JDBC访问MySQL数据库的配置方法

    在Eclipse中使用JDBC访问MySQL数据库的配置方法 分类: DATABASE 数据结构与算法2009-10-10 16:37 5313人阅读 评论(10) 收藏 举报 jdbcmysql数据 ...

  7. Jdbc访问数据库篇

    一万年太久,只争朝夕 What JDBC 上部 JDBC(Java DataBase Connectivity)Java 数据库连接,主要提供编写 Java 数据库应用程序的 API 支持 java. ...

  8. java通过jdbc访问mysql,update数据返回值的思考

    java通过jdbc访问mysql,update数据返回值的思考 先不说那么多,把Java代码贴出来吧. public static void main(String[] args) throws I ...

  9. Java jdbc访问sqlserver,oracle数据库 DEMO

    1.JDBC访问Oracle数据库 public class Jdbc_Oracle { // 静态代码块,只会执行一次,类似C#静态构造方法 static { try { // 加载数据库驱动一次 ...

随机推荐

  1. apache+php+mysql安装与使用

    偷个懒,用的系统自带的apache和php apache安装与使用 Mac自带apache默认路径 主程序 /usr/sbin/httpd 模块 /usr/libexec/apache2 配置 /et ...

  2. GitLab配置后收取不到邮件问题

    一.root权限下,修改gitlab的配置文件:/etc/gitlab/gitlab.rb gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_ ...

  3. guava Lists.transform使用

    作用:将一个List中的实体类转化为另一个List中的实体类. 稍微方便一点.例如:将List<Student>转化为List<StudentVo> Student: pack ...

  4. [UE4]线性插值Lerp

  5. javascript多语言设定方式

    1.控件文字语言设定 1.1 设定两个结构变量,定义好每一个控件需要用到的值,称它字典对象 var languagecn = { 1089: "夹柄不到位", 1090: &quo ...

  6. About Gnu Linker1

    1 OverView ld combines a number of object and archive files, relocates their data and ties up symbol ...

  7. numpy学习笔记(四)

    (1)NumPy - 矩阵库 NumPy 包包含一个 Matrix库numpy.matlib.此模块的函数返回矩阵而不是返回ndarray对象. matlib.empty()返回一个新矩阵,而不初始化 ...

  8. Java异常处理——受控(checked)的异常(throws语句)

    受控与不受控的异常 1.throws语句中声明的异常称为受控(checked)的异常,通常直接派生自Exception类. 2.RuntimeException(其基类为Exception) 和Err ...

  9. js 解密

    需求:爬取https://www.xuexi.cn/f997e76a890b0e5a053c57b19f468436/018d244441062d8916dd472a4c6a0a0b.html页面中的 ...

  10. windows 查看端口占用、关闭端口

    cmd打卡命令窗口 1)netstat -an 查看所有活动连接 2)netstat -aon| findstr “xxxx” 找到指定端口的连接 3)taskkill  /F /PID xxxx 终 ...