postgresql增、删、改、查语句
1、增
1.1单个插入
sql = f"""insert into {table_name}(id, gid, projectid, pipelength, source, target, x_source, y_source,x_target, y_target, geom) VALUES ({data['id']},{data['gid']},'{data['projectid']}',{data['pipelength']},{data['source']}, {data['target']},{data['x_source']}, {data['y_source']},{data['x_target']},{data['y_target']},ST_GeomFromText('{data['geom']}', 3857))"""1.2批量插入
sql = f"""insert into dt_node_test {'({})'.format(', '.join(df.columns))} values %s """1.3原生sql批量插入(注意在values中有字符串类型的要加引号,如:'{dic['projectid']}')def geometry_transform(self):new_node_info_list = [{'gid': 1,'projectid': 123, 'geom': f"LINESTRING(13199980.3772 13199980.3772, 13199980.3772 13199980.3772)"},{'gid': 2, 'projectid': 123, 'geom': f"LINESTRING(13199980.3772 13199980.3772, 13199980.3772 13199980.3772)"}]pipe_data = pd.DataFrame(new_node_info_list)print(pipe_data)pipe_columns_str = '({})'.format(', '.join(pipe_data.columns))pipe_data_dict = pipe_data.to_dict(orient='records')col_str = ''for dic in pipe_data_dict:c = f"""({dic['gid']},'{dic['projectid']}',ST_GeomFromText('{dic['geom']}', 3857)),"""col_str += cprint(col_str[:-1])col_str = "INSERT INTO dt_pipeline_test {} VALUES ".format(pipe_columns_str) + col_str[:-1]print(col_str)self.insert(col_str)self.close()2、删
sql = f"""delete from {table_name} where possession in ('市政', '庭院') or pressurerating = '低' and projectid = '{project_id}'"""3、改
3.1单条更新
sql = f"""update {table_name} set x_source={data['x_source']}, y_source={data['y_source']},x_target={data['x_target']},y_target={data['y_target']},geom=ST_GeomFromText('{data['geom']}', 3857) whereprojectid='{project_id}' and id={data['id']}"""3.2批量更新
s = ''for i in columns:s += f'{i} = new_data.{i},'sql = f"""update {table_name} set {s[:-1]} from (values %s) as new_data ({','.join(columns)}) where projectid='{project_id}';"""3.3原生sql批量更新pipe_data_dict = pipe_data.to_dict(orient='records')pipe_col_str = ''for dic in pipe_data_dict:c = f"""({dic['id']},{dic['x_source']},{dic['y_source']},{dic['x_target']},{dic['y_target']},ST_GeomFromText('{dic['geom']}', 3857)),"""pipe_col_str += cpipe_sql_batch = f"""update dt_pipeline_test set x_source=new_data.x_source, y_source=new_data.y_source,x_target=new_data.x_target, y_target=new_data.y_target, geom=new_data.geom from (values {pipe_col_str[:-1]}) as new_data (id, x_source, y_source, x_target, y_target, geom) where dt_pipeline_test.id=new_data.id andprojectid = '{self.project_id}'"""self.update(pipe_sql_batch)self.close()4、查
sql = f"""select id, ST_AsText(geom) from {table_name} where projectid='{projectid}' """```
postgresql增、删、改、查语句相关推荐
- 表单的增 删 改 查
django单表操作 增 删 改 查 一.实现:增.删.改.查 1.获取所有数据显示在页面上 model.Classes.object.all(),拿到数据后,渲染给前端;前端通过for循环的方式,取 ...
- properties(map)增.删.改.查.遍历
import java.util.Map; import java.util.Properties; import java.util.Set;/*** properties(map)增.删.改.查. ...
- python学生姓名添加删除_python-函数-实现学生管理系统,完成对学员的增,删,改,查和退出学生管理系统。...
实现学生管理系统,完成对学员的增,删,改,查和退出学生管理系统. 要求1:使用一个list用于保存学生的姓名. 要求2:输入0显示所有学员信息,1代表增加,2代表删除,3代表修改,4代表查询,exit ...
- PySpark︱DataFrame操作指南:增/删/改/查/合并/统计与数据处理
笔者最近需要使用pyspark进行数据整理,于是乎给自己整理一份使用指南.pyspark.dataframe跟pandas的差别还是挺大的. 文章目录 1.-------- 查 -------- -- ...
- 简单的php数据库操作类代码(增,删,改,查)
数据库操纵基本流程为: 1.连接数据库服务器 2.选择数据库 3.执行SQL语句 4.处理结果集 5.打印操作信息 其中用到的相关函数有 •resource mysql_connect ( [stri ...
- list 增 删 改 查 及 公共方法
1 # 热身题目:增加名字,并且按q(不论大小写)退出程序 2 li = ['taibai','alex','wusir','egon','女神'] 3 while 1: 4 username = i ...
- Linux技术--mysql数据库增-删-改-查
# mysql 数据库 ## 数据库的操作 ### 五个单位 * 数据库服务器 Linux或者 windows * 数据库 * 数据表 * 数据字段 * 数据行 ### 连接数据库 ``` 1 ...
- Python 操作 Elasticsearch 实现 增 删 改 查
Github 地址:https://github.com/elastic/elasticsearch-py/blob/master/docs/index.rst 官网地址:https://elasti ...
- pyRedis - 操作指南:增/删/改/查、管道与发布订阅功能
文章目录 1 redis docker 部署与安装 2 py - redis的使用 2.1 redis的连接 2.2 常规属性查看 2.2.2 关于删除 2.3 STRING 字符串的操作 2.4 H ...
- Go 学习笔记(50)— Go 标准库之 net/url(查询转义、查询参数增/删/改/查、解析URL)
1. URL 概述 import "net/url" url 包解析 URL 并实现了查询的转码.URL 提供了一种定位因特网上任意资源的手段,但这些资源是可以通过各种不同的方案( ...
最新文章
- 制度汇编格式怎么生成目录_来自世界500强企业的管理表格DOC格式 1900套
- 使用.NET,郁闷之余,写下的废话
- python 两个乘号是什么_(2)Python 变量和运算符
- 过桥问题——图论解法
- 项目中最常用到的颜色
- 工业交换机在工业通信领域的应用分析
- (计算机组成原理)第六章总线-第二节:总线仲裁(链式查询,计数器查询、独立请求)
- 编辑bpmn_「业务架构」BPMN简介第四部分-数据和工件
- 10米精度NPP净初级生产力数据/NDVI数据/植被类型数据/土地利用数据/降雨气温分布数据/太阳辐射分布数据
- Linux环境中清除tomcat缓存
- Your port 80 is actually used by : Server: Microsoft-IIS/10.0 Cannot install the Apache service, p
- 谷歌翻译api小尝试
- Java web前端——HTML常用标签
- matlab怎么计算泰尔指数,求助:泰尔指数怎么算呢
- IntelliJ IDEA更换主题样式分享
- 小布语音下载安装_oppo语音助手小布小冰安装包app
- 解决eWebEditor上传图片提示:请选择一个有效的文件,支持的格式有(GIF|JPG|JPEG|BMP|PNG)!
- 计算机操作系统-4-设备管理
- oracle分门别类的统计列数据
- Azure NSG网络安全组日志分析
热门文章
- GBU1510-ASEMI电源专用15A整流桥GBU1510
- require import
- Android中内存泄漏超级精炼详解
- 学习网站 | 计算机专业学生常用网站,必备!
- Android7工程模式,安卓手机怎么进工程模式 安卓手机进工程模式教程【详解】
- 金蝶天燕加入阿里云原生合作伙伴计划并发布金融行业服务治理联合解决方案
- 物联网毕业设计-选题推荐
- rails网站开发所使用的插件收集---web开发工具集
- 今天面了一个大学生:这82道SpringBoot面试题都答不上来?还想进大厂?
- 「镁客早报」三星折叠屏手机中国区发布会临时取消;特斯拉在地库中突然自燃... 1