使用Psycopg2连接openGauss 3.0(python3)

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

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/python3

import psycopg2

conn = 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/python3

import psycopg2

conn = 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/python3

import psycopg2

conn = 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/python3

import psycopg2

conn = 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.commit

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 updatedata.py

在这里插入图片描述

测试删除数据

vi deletedata.py

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

#!/usr/bin/python3

import psycopg2

conn = 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.commit

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 deletedata.py

在这里插入图片描述

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要连接OpenGauss数据库,可以使用Pythonpsycopg2模块。以下是连接OpenGauss数据库的步骤: 1. 安装psycopg2模块 可以使用pip命令安装psycopg2模块: ``` pip install psycopg2 ``` 2. 导入psycopg2模块 在Python脚本中导入psycopg2模块: ``` import psycopg2 ``` 3. 连接OpenGauss数据库 使用psycopg2.connect()函数连接OpenGauss数据库: ``` conn = psycopg2.connect(database="your_database_name", user="your_username", password="your_password", host="your_host", port="your_port") ``` 其中,your_database_name是要连接数据库名,your_username是数据库用户名,your_password是数据库密码,your_host是数据库主机名或IP地址,your_port是数据库端口号。 4. 执行SQL语句 连接成功后,可以使用psycopg2的cursor()方法创建游标对象,然后使用execute()方法执行SQL语句: ``` cur = conn.cursor() cur.execute("SELECT * FROM your_table_name") ``` 5. 关闭连接 使用close()方法关闭连接: ``` conn.close() ``` 以上就是使用Python连接OpenGauss数据库的步骤。 ### 回答2: Python是一种功能强大的高级编程语言,是许多开发人员和数据科学家使用的默认语言之一。连接数据库Python中常见的任务之一,而连接OpenGauss数据库是其中的一项任务。OpenGauss是一种高度可靠的关系型数据库,它提供了许多强大的功能,如高速扩展能力和高安全性等。以下是Python连接OpenGauss数据库的步骤: 1. 安装OpenGauss数据库并创建一个数据库实例。在此之前,你需要确定一些数据库的参数,例如数据库名称、端口号和鉴定方式等。你还需要创建一个OpenGauss用户以及该用户的密码。 2. 安装`psycopg2`库,这是一个Python连接PostgreSQL数据库的第三方库,可以用于连接OpenGauss数据库。你可以使用pip安装该库: ``` pip install psycopg2 ``` 3. 编写Python脚本连接OpenGauss数据库。你需要引用`psycopg2`库,建立与数据库连接,并定义一个光标对象来执行SQL查询。以下是Python脚本的示例代码: ``` import psycopg2 # 建立与数据库连接 conn = psycopg2.connect(dbname='mydatabase', user='myuser', password='mypassword', host='localhost', port='5432') # 定义光标对象 cur = conn.cursor() # 执行SQL查询 cur.execute("SELECT * FROM mytable") # 获取查询结果 result = cur.fetchall() # 打印结果 print(result) # 关闭光标和连接 cur.close() conn.close() ``` 在这个示例中,您需要更改`dbname`,`user`,`password`和`host`以匹配您的数据库配置。同时,您还需要更改SQL查询以匹配您的表名和字段名。 通过这些步骤,你就可以成功地使用Python连接OpenGauss数据库了。无论你是一个数据科学家还是一名开发人员,这项任务对于日常工作和项目都是必不可少的。 ### 回答3: Python 是一种强大、灵活的编程语言,可以在许多领域应用。连接数据库Python 的一个非常重要的应用之一,因为数据库是很多应用的核心之一。为了实现 Python 连接数据库的功能,需要使用一些工具和库。本文将介绍在 Python 中如何连接 OpenGauss 数据库。 1. 安装 psycopg2 库和 OpenGauss 数据库使用 Python 连接 OpenGauss 数据库之前,需要先安装 psycopg2 库和 OpenGauss 数据库。首先,我们要在系统上安装好 OpenGauss 数据库。在安装完成后,需要创建一个数据库和一个用户,并授权该用户访问数据库。然后,在 Python 环境中使用 pip 包管理器安装 psycopg2 库。 命令行执行以下命令: ``` pip install psycopg2 ``` 2. 连接 OpenGauss 数据库 使用 Pythonpsycopg2连接 OpenGauss 数据库的过程,大致可以分为以下步骤: (1)导入 psycopg2 库: ``` import psycopg2 ``` (2)构造连接字符串,使用 psycopg2.connect() 方法连接 OpenGauss 数据库: ``` conn = psycopg2.connect(database="your_db_name", user="your_user_name", password="your_password", host="your_host", port="your_port") ``` 其中,各参数的含义如下: - database:需要连接数据库名。 - user:连接 OpenGauss 数据库所用的用户名。 - password:连接 OpenGauss 数据库所用的密码。 - host:OpenGauss 数据库所在的主机名。 - port:OpenGauss 数据库所监听的端口号。 (3)使用数据库连接后,就可以进行查询和操作了: ``` cur = conn.cursor() cur.execute("SELECT * FROM your_table_name") rows = cur.fetchall() for row in rows: print(row) cur.close() conn.close() ``` 其中,cur.execute() 方法用于执行查询或操作,cur.fetchall() 方法用于获取结果集。 3. 实例代码 以下是一个完整的 Python 连接 OpenGauss 数据库的示例代码: ``` import psycopg2 try: conn = psycopg2.connect(database="your_db_name", user="your_user_name", password="your_password", host="your_host", port="your_port") except: print("Unable to connect to the database.") cur = conn.cursor() cur.execute("SELECT * FROM your_table_name") rows = cur.fetchall() for row in rows: print(row) cur.close() conn.close() ``` 在该示例代码中,我们首先尝试使用 psycopg2.connect() 方法连接数据库。如果连接失败,就输出错误信息。接下来,我们创建一个光标对象并执行一个 SELECT 查询语句。最后,将结果集打印出来,并释放连接和光标对象。 总之,在 Python连接 OpenGauss 数据库,只需要安装 psycopg2 库,然后用它提供的 connect() 方法连接数据库即可,非常简单。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值