DataTablePostgreSQL

class deepfos.element.datatable.DataTablePostgreSQL(element_name: str, folder_id: str = None, path: str = None, table_name: str = None, server_name: str = None)

PostgreSQL数据表

提供单表的增删改查操作。

参数
  • element_name – 元素名

  • folder_id – 元素所在的文件夹id

  • path – 元素所在的文件夹绝对路径

  • table_name – 数据表的真实表名,已知的情况下可直接指定以避免内部重复查询,能提升性能。

  • admonition (.) – : 快速开始

  • code-block (.) – : pythontbl = DataTablePostgreSQL(‘my_table’)# 查询数据(返回 DataFrame)df = tbl.select()# 插入 DataFrametbl.insert_df(df_new_data)# 按条件更新t = tbl.table # pypika Table 对象

  • tbl.update({'value' – ‘new’}, where=t.key == ‘K001’)# 按条件删除

  • tbl.delete(where={'key' – ‘K001’})

  • note (.) – :- 所有写操作(insert / update / delete)均立即执行;

  • tbl.start_transaction() (如需事务语义,请改用 ``with) –

    …``。- tbl.table 返回 pypika Table 对象,可用于构造复杂 WHERE 条件,:

  • <https (详见 `pypika 文档) –

    //github.com/kayak/pypika>`_。

提示

如果不提供folder_id和path,将会使用元素名和元素类型进行全局搜索。 如果找到 唯一匹配 的元素,那么一切正常,否则将会报错。

方法

async_check_exist(ele_name[, ele_type, …])

异步查询元素是否存在

check_exist(ele_name[, ele_type, folder, …])

查询元素是否存在

copy_rows(where[, field_map, distinct])

拷贝当前表的数据行

count(where)

查询数据记录数

delete(where)

删除数据表的数据

insert([value_map, value_list, columns])

插入数据,数据量极少时推荐使用

insert_df(dataframe[, updatecol, chunksize, …])

DataFrame 的数据插入当前数据表

run_sql(sql)

执行sql

select([columns, where, distinct, groupby, …])

从数据表获取 DataFrame 格式的数据

select_raw([columns, where, distinct, …])

根据查询条件从数据表获取数据

start_transaction([flatten])

开启事务

update(assignment_list, where)

更新数据表的数据

update_from_dataframe(source[, chucksize])

使用 DataFrame 更新数据表

wait_for(attr)

异步等待成员变量

属性

api

同步 API 对象

async_api

异步 API 对象

convertor

element_info

元素信息

element_type

元素类型

meta

数据表的元配置信息

quote_char

structure

返回 PostgreSQL 数据表结构定义对象

synchronize

table

pipyka的Table对象

table_name

数据表真实表名

transaction_result

事务执行结果