当前位置: 首页 > news >正文

Python模块psycopg2连接postgresql

目录

1. 基础语法

2. 基础用法

3. 多条SQL

4. 事务SQL


1. 基础语法

语法

psycopg2.connect(dsn         #指定连接参数。可以使用参数形式或 DSN 形式指定。host        #指定连接数据库的主机名。dbname      #指定数据库名。user        #指定连接数据库使用的用户名。password    #指定连接数据库使用的密码。port        #指定连接数据库的端口号。connection_factory  #指定创建连接对象的工厂类。cursor_factory      #指定创建游标对象的工厂类。async_      #指定是否异步连接(默认False)。sslmode     #指定 SSL 模式。sslrootcert #指定证书文件名。sslkey      #指定私钥文件名。sslcert     #指定公钥文件名。
)

                              

2. 基础用法

import psycopg2# 连接数据库
conn_pg = psycopg2.connect("host=localhost dbname=test user=postgres password=123456 port=5432")
# 创建一个游标
cur = conn_pg.cursor()
# 执行SQL语句
cur.execute("select * from t1 limit 10;")
# 获取返回的结果
rows = cur.fetchall()
# 遍历每行结果(也可以直接打印,输出格式为列表)
for i in rows:print(i)
# 关闭游标
cur.close()
# 关闭连接
conn_pg.close()

结果如下

                               

3. 多条SQL

多条SQL语句直接放入 execute 方法中即可

import psycopg2# 编写要执行的SQL语句
sql_statements = """SELECT * FROM t1 WHERE c1 = 1;UPDATE t1 SET c2 = 'yt' WHERE c1 = 1;SELECT * FROM t1 WHERE c1 = 1;
"""# 连接数据库
with  psycopg2.connect("host=localhost dbname=test user=postgres password=123456 port=5432") as conn_pg:with conn_pg.cursor() as cur:# 执行SQL语句cur.execute(sql_statements)# 获取返回的结果rows = cur.fetchall()# 输出结果print(rows)# 提交事务conn_pg.commit()

  • 这种方法只返回最后一条SQL语句的结果,如果需要全部返回,使用遍历的方法逐条发送即可

                              

4. 事务SQL

#!/usr/bin/pythonimport psycopg2# 连接数据库
with  psycopg2.connect("host=localhost dbname=test user=postgres password=123456 port=5432") as conn_pg:with conn_pg.cursor() as cur:try:cur.execute("BEGIN") #开始事务cur.execute("INSERT INTO t1 VALUES (1, 'abc');")cur.execute("UPDATE t1 SET c2 = 'def' WHERE c1 = 1;")conn_pg.commit()     #提交事务except:conn.rollback()      #回滚事务

                              

相关文章:

Python模块psycopg2连接postgresql

目录 1. 基础语法 2. 基础用法 3. 多条SQL 4. 事务SQL 1. 基础语法 语法 psycopg2.connect(dsn #指定连接参数。可以使用参数形式或 DSN 形式指定。host #指定连接数据库的主机名。dbname #指定数据库名。user #指定连接数据库使用的用户名。…...

Kotlin基础(八):泛型

前言 本文主要讲解kotlin泛型,主要包括泛型基础,类型变异,类型投射,星号投射,泛型函数,泛型约束,泛型在Android中的使用。 Kotlin文章列表 Kotlin文章列表: 点击此处跳转查看 目录 1.1 泛型基…...

Java学习笔记——(10)环境变量path配置及其作用

环境变量的作用为了在 Dos 的任务目录,可以去使用 javac 和 java开发工具命令 先配置 JAVA_HOME 指向 jdk 安装的主目录(避免开发中出现问题) 编辑 path 环境变量(开发环境),增加 %JAVA_HOME%\bin 编辑 path 环境变量(运行环境…...

【图像去噪】基于进化算法——自组织迁移算法(SOMA)的图像去噪研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

TMS WEB Core Crack,TMS软件Delphi组件RADical Web

TMS WEB Core Crack,TMS软件Delphi组件RADical Web 使用我们的现代web应用程序框架,可以节省宝贵的时间并创造丰富的用户体验。我们所有的工具都由经验丰富的开发人员组成的专门团队提供支持。您可以信赖卓越的服务、活跃的社区和我们不断的创新。TMS Software是您的…...

PHP使用Redis实战实录4:单例模式和面向过程操作redis的语法

PHP使用Redis实战实录系列 PHP使用Redis实战实录1:宝塔环境搭建、6379端口配置、Redis服务启动失败解决方案PHP使用Redis实战实录2:Redis扩展方法和PHP连接Redis的多种方案PHP使用Redis实战实录3:数据类型比较、大小限制和性能扩展PHP使用Re…...

解决:移动端H5的<video>初始化拿不到总时长

移动端 在<video>的初始化后&#xff0c;会调用如下事件。 canplay"canplay" 解决方案&#xff1a;<video>添加自动播放属性&#xff1a; autoplay"autoplay" 然后这个方法里&#xff0c;用js在0.01秒后主动关闭播放&#xff0c;接着在0.…...

百度云上传身份证获取身份信息封装

1.目录结构 -script_discerm ------------包 -discerm.py --------------主要逻辑 -__init__.py -id_care---------------文件夹 存放图片 2.安装模块 pip install urllib31.23 pip install requests pip install base64 3.各文件内容 2.1 discerm.py import jsonimpo…...

vscode 上cmake 版本过低

问题&#xff1a; 装了vscode中的camke插件后&#xff0c;报错如下&#xff1a; CMake 3.9 or higher is required. You are running version 3.3.2。 解决办法&#xff1a; 卸载掉插件的cmake。 到官网下载合适的版本&#xff0c;设置系统变量 然后重新下载camke tools&…...

OS-08-事件驱动:C10M是如何实现的?

08-事件驱动&#xff1a;C10M是如何实现的&#xff1f; 你好&#xff0c;我是陶辉。 上一讲介绍了广播与组播这种一对多通讯方式&#xff0c;从这一讲开始&#xff0c;我们回到主流的一对一通讯方式。 早些年我们谈到高并发&#xff0c;总是会提到C10K&#xff0c;这是指服务…...

mysql 主从同步排查和处理 Slave_IO、Slave_SQL

目录 查看主从是否同步 详解Slave_IO、Slave_SQL 判断主从完全同步 各个 Log_File 和 Log_Pos的关系 修复命令 查看主从是否同步 show slave status; Slave_IO_Running、Slave_SQL_Running&#xff0c;这两个值是Yes表示正常&#xff0c;No是异常 使用竖排显示&#xf…...

基于解析法和遗传算法相结合的配电网多台分布式电源降损配置(Matlab实现)

目录 1 概述 2 数学模型 2.1 问题表述 2.2 DG的最佳位置和容量&#xff08;解析法&#xff09; 2.3 使用 GA 进行最佳功率因数确定和 DG 分配 3 仿真结果与讨论 3.1 33 节点测试配电系统的仿真 3.2 69 节点测试配电系统仿真 4 结论 1 概述 为了使系统网损达到最低值&a…...

07mysql查询语句之子查询

#1.查询和Zlotkey相同部门的员工姓名和工资 SELECT last_name,salary FROM employees WHERE department_id IN ( SELECT department_id FROM employees WHERE last_name Zlotkey ); #2.查询工资比公司平均工资高的员工的员工号&#xff0…...

笙默考试管理系统-MyExamTest(22)

笙默考试管理系统-MyExamTest&#xff08;22&#xff09; 目录 一、 笙默考试管理系统-MyExamTest 二、 笙默考试管理系统-MyExamTest 三、 笙默考试管理系统-MyExamTest 四、 笙默考试管理系统-MyExamTest 五、 笙默考试管理系统-MyExamTest 笙默考试管理系统-MyExa…...

Windows 不同方式打开的cmd/dos窗口属性配置不同

文章目录 1. 默认值&#xff08;控制台窗口&#xff09;属性2. "C:\Windows\System32\cmd.exe" 属性3. "命令提示符"属性4. 自定义某标题cmd窗口属性5. cmd快捷方式的属性总结 最近在写某个批处理脚本时&#xff0c;意外发现 Windows系统中&#xff0c;在不…...

性能优化-webpack配置gzip

3步搞定&#xff0c;实测1.3Mjs压缩到363k&#xff0c;体积减少70% 1.装包 yarn add compression-webpack-plugin --dev 2.配置webpack 打开config/webpack.config.js 1&#xff09;在 module.exports 导出函数前面引入插件 // gzip插件 const CompressionPlugin require(&qu…...

RabbitMQ 教程 | 第3章 客户端开发向导

&#x1f468;&#x1f3fb;‍&#x1f4bb; 热爱摄影的程序员 &#x1f468;&#x1f3fb;‍&#x1f3a8; 喜欢编码的设计师 &#x1f9d5;&#x1f3fb; 擅长设计的剪辑师 &#x1f9d1;&#x1f3fb;‍&#x1f3eb; 一位高冷无情的编码爱好者 大家好&#xff0c;我是 DevO…...

基于深度学习的CCPD车牌检测系统(PyTorch+Pyside6+YOLOv5模型)

摘要&#xff1a;基于CCPD数据集的高精度车牌检测系统可用于日常生活中检测与定位车牌目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的车牌目标检测识别&#xff0c;另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5目标检测模型训练数据集…...

input元素中的form属性有什么用?

在HTML中&#xff0c;input元素的form属性用于指定该输入字段所属的表单&#xff08;form元素&#xff09;。通过将input元素的form属性设置为相应的表单的id值&#xff0c;可以将输入字段与表单进行关联。 这个属性对于两个主要目的非常有用&#xff1a; 表单关联&#xff1…...

【数据结构篇C++实现】- 特殊的线性表 - 串

友情链接&#xff1a;C/C系列系统学习目录 文章目录 串&#x1f680;一、串的定义&#x1f680;二、串的存储结构&#x1f6f4;&#xff08;一&#xff09;串的顺序存储结构1、定长顺序存储表示2、堆分配存储表示 &#x1f6f4;&#xff08;二&#xff09;串的链式存储结构3、块…...

穆斯堡尔谱—固态研究中不可或缺的工具

...

MoE大模型核心揭秘:Router路由机制与活跃参数原理

1. 这不是“参数越多越强”的简单故事&#xff1a;拆解大模型里那个被悄悄藏起来的“开关”你肯定见过这类标题&#xff1a;“GPT-4参数量达1.8万亿&#xff01;”、“DeepSeek-R1狂堆6710亿参数&#xff01;”——光看数字&#xff0c;像在比谁家粮仓更大。但真正干过模型部署…...

基于微信小程序的疫苗预约管理系统的设计与实现

第1章 绪 论本章对疫苗预约管理系统的背景进行了研究和分析&#xff0c;并且对目前疫苗预约管理系统所存在的问题做了简单的分析&#xff0c;接着论述了选题的重要性以及现实意义&#xff0c;通过研究疫苗预约管理系统类系统的发展历程&#xff0c;给后面系统需求分析和设计打下…...

腾讯Marvis完整上手体验+功能测试

一、什么是Marvis&#xff1f;干什么用的&#xff1f; Marvis&#xff08;马维斯&#xff09;是腾讯2026-05-21正式发布上线的操作系统层级AI助手&#xff0c;由应用宝团队打造&#xff0c;定位系统级深度 AI 助手。 1.核心信息 发布时间&#xff1a;2026年5月21日官方官宣上…...

别再手搓动画了!用PS搞定微信小程序GIF单次播放(附2022版安装包)

微信小程序GIF动画高效制作指南&#xff1a;从PS设计到开发落地全流程 在微信小程序开发中&#xff0c;动画效果的实现往往让开发者陷入两难选择&#xff1a;要么花费大量时间手写Canvas动画代码&#xff0c;要么寻找更高效的视觉呈现方案。当遇到需要精确控制播放次数的动画需…...

从Bloodshed到Embarcadero:老牌轻量IDE Dev-C++还值得C++新手用吗?

从Bloodshed到Embarcadero&#xff1a;Dev-C在2024年仍是C新手的理想选择吗&#xff1f; 在C开发工具百花齐放的今天&#xff0c;一个诞生于2000年的轻量级IDE——Dev-C&#xff0c;历经Bloodshed、Orwell到Embarcadero的迭代&#xff0c;依然活跃在部分开发者的工具链中。对于…...

FARM问答系统调优终极指南:置信度校准与答案排序策略详解

FARM问答系统调优终极指南&#xff1a;置信度校准与答案排序策略详解 【免费下载链接】FARM :house_with_garden: Fast & easy transfer learning for NLP. Harvesting language models for the industry. Focus on Question Answering. 项目地址: https://gitcode.com/g…...

NebulaGraph Console终极指南:简单快速掌握图数据库命令行工具

NebulaGraph Console终极指南&#xff1a;简单快速掌握图数据库命令行工具 【免费下载链接】nebula-console Command line interface for the Nebula Graph service 项目地址: https://gitcode.com/gh_mirrors/ne/nebula-console NebulaGraph Console是NebulaGraph图数据…...

《Sysinternals实战指南》进程和诊断工具学习笔记(8.25):Handle进阶——批量巡检、自动审计与高危操作SOP

&#x1f525;个人主页&#xff1a;杨利杰YJlio❄️个人专栏&#xff1a;《Sysinternals实战教程》《Windows PowerShell 实战》《WINDOWS教程》《IOS教程》《微信助手》《锤子助手》 《Python》 《Kali Linux》 《那些年未解决的Windows疑难杂症》&#x1f31f; 让复杂的事情更…...

STM32矩阵按键详解——4×4行列扫描与非阻塞消抖(硬件总结六)

前言 独立按键虽然简单&#xff0c;但当产品需要十几个按键时&#xff0c;每个按键独占一个GPIO的接法就变得很不经济。矩阵按键通过“行列”的交叉结构&#xff0c;仅用NM个GPIO即可驱动NM个按键。以最常见的44矩阵为例&#xff0c;16个按键仅需8个GPIO&#xff0c;引脚利用率…...