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返回 pypikaTable对象,可用于构造复杂 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 对象
元素信息
元素类型
数据表的元配置信息
返回 PostgreSQL 数据表结构定义对象
pipyka的Table对象
数据表真实表名
事务执行结果