在使用 Python 连接 openGauss 数据库时,需要使用 Psycopg 来进行连接。openGauss 官方提供的编译包仅支持 Python 3 。若要使用 Python 2 ,则需要手动编译安装。本文首先介绍官方提供的 Python 3 版本如何正确使用,后面会再写一篇文章介绍使用 Python 2 时如何进行编译安装。
本文测试环境使用的是 麒麟 V10 SP2 操作系统,openGauss 3.0 数据库。

目录

  • 1 从openGauss官网上下载编译好的psycopg2压缩包
  • 2 解压对应的驱动包
  • 3 将 psycopg2 目录权限修改为 755
  • 4 配置 LD_LIBRARY_PATH 环境变量
  • 5 加载数据库驱动程序以确认是否正确配置
  • 6 Python 3 连接 openGauss 数据库测试
    • 测试创建表
    • 测试插入数据
    • 测试查询数据
    • 测试更新数据
    • 测试删除数据

1 从openGauss官网上下载编译好的psycopg2压缩包

下载地址:https://www.opengauss.org/zh/download/

从中选择所需的操作系统及cpu架构对应的版本。麒麟 V10 SP1/SP2 等使用openeuler内核的操作系统选择openeuler对应版本即可。

2 解压对应的驱动包

将 psycopg2 拷贝到 python 安装目录的第三方包文件夹(即 site-packages 目录)下。
使用 find 命令查询 site-packages 目录所在位置

find / -name site-packages


这里我们选择将其解压到 /usr/lib/python3.7/site-packages 下

tar -zxvf openGauss-3.0.0-openEuler-x86_64-Python.tar.gz -C /usr/lib/python3.7/site-packages

3 将 psycopg2 目录权限修改为 755

chmod 755 /usr/lib/python3.7/site-packages/psycopg2
ls -ld /usr/lib/python3.7/site-packages/psycopg2

4 配置 LD_LIBRARY_PATH 环境变量

vim .bashrc
# 添加下面环境变量
export LD_LIBRARY_PATH=/usr/lib/python3.7/site-packages/lib# 使环境变量生效
source .bashrc

5 加载数据库驱动程序以确认是否正确配置

python3
import  psycopg2


加载后没有报错即证明驱动配置正确。此处如果报错,则需要针对性处理报错内容后再试。

6 Python 3 连接 openGauss 数据库测试

测试创建表

vi createtable.py

创建 createtable.py 文件,并写入以下内容:

#!/usr/bin/python3import psycopg2conn = psycopg2.connect(database="prod", user="scott", password="123@qaz", host="192.168.0.151", port="15400")cur = conn.cursor()
cur.execute('''CREATE TABLE COMPANY(ID INT PRIMARY KEY     NOT NULL,NAME           TEXT    NOT NULL,AGE            INT     NOT NULL,ADDRESS        CHAR(50),SALARY         REAL);''')conn.commit()
conn.close()

执行该程序文件

python3 createtable.py

连接到数据库中查看,发现表已经创建成功

测试插入数据

vi insertdata.py

创建 insertdata.py 文件,并写入以下内容:

#!/usr/bin/python3import psycopg2conn = psycopg2.connect(database="prod", user="scott", password="123@qaz", host="192.168.0.151", port="15400")cur = conn.cursor()cur.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \VALUES (1, 'Paul', 32, 'California', 20000.00 )");cur.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \VALUES (2, 'Allen', 25, 'Texas', 15000.00 )");cur.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \VALUES (3, 'Teddy', 23, 'Norway', 20000.00 )");cur.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 )");conn.commit()
conn.close()

执行该程序文件

python3 insertdata.py

连接到数据库中查看,发现数据已插入成功

测试查询数据

vi selectdata.py

创建 selectdata.py 文件,并写入以下内容:

#!/usr/bin/python3import psycopg2conn = psycopg2.connect(database="prod", user="scott", password="123@qaz", host="192.168.0.151", port="15400")cur = conn.cursor()cur.execute("SELECT id, name, address, salary  from COMPANY")
rows = cur.fetchall()
for row in rows:print("ID = ", row[0])print("NAME = ", row[1])print("ADDRESS = ", row[2])print("SALARY = ", row[3])conn.close()

执行该程序文件

python3 selectdata.py

测试更新数据

vi updatedata.py

创建 updatedata.py 文件,并写入以下内容:

#!/usr/bin/python3import psycopg2conn = psycopg2.connect(database="prod", user="scott", password="123@qaz", host="192.168.0.151", port="15400")cur = conn.cursor()cur.execute("UPDATE COMPANY set SALARY = 25000.00 where ID=1")
conn.commitcur.execute("SELECT id, name, address, salary  from COMPANY")
rows = cur.fetchall()
for row in rows:print("ID = ", row[0])print("NAME = ", row[1])print("ADDRESS = ", row[2])print("SALARY = ", row[3])conn.close()

执行该程序文件

python3 updatedata.py

测试删除数据

vi deletedata.py

创建 deletedata.py 文件,并写入以下内容:

#!/usr/bin/python3import psycopg2conn = psycopg2.connect(database="prod", user="scott", password="123@qaz", host="192.168.0.151", port="15400")cur = conn.cursor()cur.execute("UPDATE COMPANY set SALARY = 25000.00 where ID=1")
conn.commitcur.execute("SELECT id, name, address, salary  from COMPANY")
rows = cur.fetchall()
for row in rows:print("ID = ", row[0])print("NAME = ", row[1])print("ADDRESS = ", row[2])print("SALARY = ", row[3])conn.close()

执行该程序文件

python3 deletedata.py

使用Psycopg2连接openGauss 3.0(python3)相关推荐

  1. 使用Psycopg2连接openGauss

    文章目录 1.简介 2.接口介绍 开发流程 接口说明 3.使用 3.1环境准备 3.2下载并加载python驱动 3.3创建数据库连接用户 3.4示例 4.常见报错 1.简介 Psycopg是一种用于 ...

  2. openGauss 2.0.0 版本正式发布

    3月31日,openGauss 2.0.0 版本正式上线!openGauss 2.0.0 是openGauss社区发布的第一个Release版本.2.0.0版本与之前版本保持兼容的同时,也新增了众多特 ...

  3. Excel连接openGauss数据库实操

    目录 前言 一.通过excel 添加数据源访问openGauss 1.查看Excel版本 2.下载 ODBC驱动 3.安装ODBC驱动 4.添加ODBC数据源 5.在excel中添加数据源(访问ope ...

  4. 张小白带你使用CentOS 7.6安装openGauss 2.0.1企业版

    先到官网了解一下安装的过程:了解安装流程 | openGauss 然后一步一步来就行了. 一.准备CentOS 7.6操作系统 首先,需要下载CentOS 7.6的镜像,这个镜像在CentOS官网和华 ...

  5. openGauss 5.0.0版本正式发布!

    今日,openGauss 5.0.0版本正式上线! openGauss 5.0.0是openGauss发布的第三个LTS版本,版本生命周期为3年.openGauss 5.0.0版本与之前的版本功能特性 ...

  6. Centos 7 安装系列(8):openGauss 3.0.0

    Centos 7 安装 openGauss 零.关于卸载 一.系统环境 二.官方文档 三.安装步骤 3.1 环境准备 3.2 关闭防火墙 3.3 创建用户 3.4 创建数据目录 3.5 配置环境变量 ...

  7. Djang1.8+Python2.0迁移到Django2.0+Python3.6注意事项(转)

    Djang1.8+Python2.0迁移到Django2.0+Python3.6注意事项 参考:https://blog.csdn.net/weixin_40475396/article/detail ...

  8. Navicat for MySQL 连接 Mysql 8.0.11 出现1251- Client does not support authentication protocol 错误

    1.心路历程 第一次全栈发车试运行,选最陌生的站上车,小本本记下路上的坎坷. 1.安装了MySQL数据库(腾讯的下载连接,比官网快,亲测有用): 2.下载安装Navicat:下载.安装参考:MySQL ...

  9. 无法连接虚拟设备 ide1:0

    问题: 启动vmware之后,发现出现无法连接 ide 1:0. 网络查找之后,发现是之前挂载的iso镜像找不到了. 原因: 我把iso镜像放到其他位置. 解决: 指定iso文件的位置. 参考:htt ...

最新文章

  1. 我们究竟应不应该使用框架?
  2. pymysql的使用心得(1)------小细节,注意!
  3. 图像处理中的dpi(Dots Per Inch)是什么单位?(图像每英寸长度内的像素点数)
  4. octave修改选中的代码行的颜色
  5. 房贷利率不断上涨,贷款买房如何才能节省利息?
  6. 多线程之间共享数据的实现
  7. 语音转换截取N个文字进行转换
  8. Spark项目实践--基于 TMDB 数据集的电影数据分析
  9. ASP.NET 班级网站-程序+配置文档
  10. 电子元器件手册中assert和deassert的含义
  11. c0语言语法,《Groovy语言规范》-语法
  12. [Pytorch]torch.nn.functional.conv2d与深度可分离卷积和标准卷积
  13. 快速采集详情API接口
  14. 利用halcon读取tiff图像,并且获取图像指针
  15. 服务器里微信怎么多开,谈谈微信多开
  16. win11突然断网,然后找不到wifi图标,记录一下
  17. LED显示屏组装常见故障及解决方案
  18. CISP注册信息安全专业人员
  19. linux虚拟磁盘服务,迅闪Linux虚拟磁盘 使用超级IP更新心得
  20. MUI学习之路---了解MUI,MUI的第一个项目和页面的跳转

热门文章

  1. php 5.2 apc,将APC(替代PHP缓存)集成到PHP5(Debian Etch&Apache2)
  2. http报错405问题解决方法
  3. 周志华-机器学习 (绪论、模型评估与选择)
  4. 关于前几天的招聘,我说几点
  5. JavaScript学习(五)
  6. 【C++内存管理-从平地起到万丈高楼】引言
  7. Grid控件 设置格子背景颜色
  8. mysql里一个中文汉字占多少字节数?
  9. 分享 | 日置3561电池测试仪调零/自校准详解教程
  10. 【C++ 八】写文件、读文件