windows环境下python连接openGauss数据库

一、python 介绍

python最新版
windows python是款面向对象、直译式计算机程序设计语言,同时也是一种功能强大而完善的通用型语言,具有非常简洁而清晰的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中运行。

Python特殊功能

  • 很清楚、明确、易读的语法
  • 较强的自省能力
  • 直观的面向对象
  • 自然的表达程序代码
  • 完整的模块化设计,支持分层包
  • 基于异常的错误处理
  • 非常高的水平动态数据类型
  • 几乎每一个任务的广泛的标准库和第三方模块
  • 扩展和模块很容易写在C,C + +(或Java的Jython或NET语言IronPython的)
  • 嵌入在应用程序中作为脚本接口

Python 软件亮点

  • 完全模块化,Python核心编程软件支持分层包
  • 基于异常的错误处理
  • 非常高级别的动态数据类型
  • 广泛的标准库和第三方模块,Python核心编程软件几乎被用于每个任务
  • 扩展和模块易于使用C,C ++(或Jython Java,或IronPython的.NET语言)
  • 可嵌入应用程序作为脚本界面

Python说明
Python是一个解释性语言,因为不需要编译和连接所以能节省大量的程序开发时间。解释程序可以交互使用,这样可以可以很容易地试验语言的各种特色,写只用一次的程序,或在从底向上程序开发中测试函数。它也是一个方便的计算器。

Python是一种面向对象、直译式计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。这种语言具有非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中运行。目前,基于这种语言的相关技术正在飞速的发展,用户数量急剧扩大,相关的资源非常多。

Python可用于的操作系统:Windows和Linux / Unix系统,OS / 2,Mac上,Amiga上,其中包括。甚至有NET和Java虚拟机上运行,Python的实现是一个开源许可证,使得它可以自由使用和分派下,甚至用于商业用途。

二、Python下载及安装

1、下载: 进入python官网下载(https://www.python.org/)。鼠标指向Downloads(不用点击)会弹出下拉框,直接点击windows下的Python 3.11.0即可下载。(国外网站下载较慢,建议找个国内的资源下载)

在这里插入图片描述

2、下载好之后,右键以管理员身份运行exe可执行文件。

这里勾选Add Python 3.11 to PATH (把Python的安装路径添加到系统环境 变量的Path变量中,如果不选那就需要自己配置环境变量了,参见FAQ) ,Install Now 默认安装,Customize installation 自定义安装。
在这里插入图片描述

这里选自定义安装,安装Python文档、Python的pip等…默认即可,直接next
在这里插入图片描述

路径可以更改一下:
在这里插入图片描述

自动安装中……
在这里插入图片描述

最后点这里(红圈处)。
在这里插入图片描述

安装完成。
在这里插入图片描述

打开(cmd)终端窗口,输入python命令,进行验证,看到相关版本信息,即表示安装成功。
在这里插入图片描述

打开(cmd)终端窗口,输入pip 命令,验证环境变量是否配置成功。
在这里插入图片描述

下载并安装模块:打开cmd窗口,键入命令 pip install requests 进行安装,使用pip list命令查看是否已经安装模块。
在这里插入图片描述

三、openGauss Connectors (Psycopg2) 介绍

Psycopg是一种用于执行SQL语句的PythonAPI,可以为PostgreSQL、openGauss数据库提供统一访问接口,应用程序可基于它进行数据操作。Psycopg2是对libpq的封装,主要使用C语言实现,既高效又安全。它具有客户端游标和服务器端游标、异步通信和通知、支持“COPY TO/COPY FROM”功能。支持多种类型Python开箱即用,适配PostgreSQL数据类型;通过灵活的对象适配系统,可以扩展和定制适配。Psycopg2兼容Unicode和Python 3。

openGauss数据库提供了对Psycopg2特性的支持,并且支持Psycopg2通过SSL模式链接。

四、openGauss Connectors (Psycopg2)下载并初始化

登录openGauss社区(https://opengauss.org/zh/download/)下载对应的openGauss数据库连接器(本测试环境下载的是Python-psycopg2_2.1.0,版本与数据版本匹配)。
在这里插入图片描述

从发布包中获取,包名为openGauss-xxxx-操作系统版本号-64bit-Python.tar.gz。解压后有两个文件夹:psycopg2库文件和lib库文件。
在这里插入图片描述

将psycopg2拷贝到python安装目录的第三方包文件夹(即site-packages目录)下。
在这里插入图片描述

将lib文件夹中的文件拷贝到安装目录Lib目录下。
在这里插入图片描述

对于非数据库用户,需要将解压后的lib目录,配置在LD_LIBRARY_PATH环境变量中(参考FAQ)。
在这里插入图片描述

下载并安装模块:打开cmd窗口,键入命令pip install psycopg2
在这里插入图片描述

五、连接并访问openGauss数据库

前置条件:openGauss数据库已成功安装、并成功启动。
在这里插入图片描述

编辑好python文件,并保存。(本测试脚本功能主要实现链接openGauss数据库、创建表、插入数据、查询数据等)
在这里插入图片描述

附原脚本:

#!/usr/bin/python
import psycopg2
conn = psycopg2.connect(database="postgres", user="omm2", password="P@ssw0rd123", host="192.168.52.3", port="26000")

cur = conn.cursor()

#创建表COMPANY1
cur.execute('''CREATE TABLE COMPANY1
       (ID INT PRIMARY KEY     NOT NULL,
       NAME           TEXT    NOT NULL,
       AGE            INT     NOT NULL,
       ADDRESS        CHAR(50),
       SALARY         REAL);''')
       
#插入数据       
cur.execute("INSERT INTO COMPANY1 (ID,NAME,AGE,ADDRESS,SALARY) \
      VALUES (1, 'Paul', 32, 'California', 20000.00 )");

cur.execute("INSERT INTO COMPANY1 (ID,NAME,AGE,ADDRESS,SALARY) \
      VALUES (2, 'Allen', 25, 'Texas', 15000.00 )");

cur.execute("INSERT INTO COMPANY1 (ID,NAME,AGE,ADDRESS,SALARY) \
      VALUES (3, 'Teddy', 23, 'Norway', 20000.00 )");

cur.execute("INSERT INTO COMPANY1 (ID,NAME,AGE,ADDRESS,SALARY) \
      VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 )");       
      
#查询结果
cur.execute("SELECT id, name, address, salary  from COMPANY1")
rows = cur.fetchall()
for row in rows:
   print("ID = ", row[0])
   print("NAME = ", row[1])
   print("ADDRESS = ", row[2])
   print("SALARY = ", row[3])

conn.commit()
conn.close()

执行python脚本:打开(cmd)终端窗口, 执行命令“python new2.py”,如下截图。
在这里插入图片描述

如上出现以上结果, 则表示python链接openGauss数据库成功,执行创建表、插入数据、查询数据成功。

六、问题总结(FAQ)

1、python 环境变量配置参考:
在这里插入图片描述

2、打开(cmd)终端窗口,输入pip,遇到:‘pip’不是内部或外部命令,也不是可运行的程序或批处理文件。即下图这种情况:
在这里插入图片描述

解决办法:添加环境变量。复制python安装目录 Scripts的路劲, 调价到 Path下(参考上文python安装时配置环境变量的图示)。

3、在执行python脚本时,如果报错:ModuleNotFoundError:No module named ‘psycopg2._psycopg’。 则需要执行pip install psycopg2 命令, 下载安装模块。

4、在链接openGauss数据库时,提示:Forbid remote connection with initial user ,意思是禁止用初始用户进行远程连接,即不要使用数据库默认的omm用户访问。

5、Psycopg(接口)参考
Psycopg接口是一套提供给用户的API方法。

1)psycopg2.connect() :此方法创建新的数据库会话并返回新的connection对象。
原型:
conn=psycopg2.connect(dbname=“test”,user=“postgres”,password=“secret”,host=“127.0.0.1”,port=“5432”)

返回值:connection对象(连接openGauss数据库实例的对象)。
参数 :
关键字 参数说明
dbname 数据库名称。
user 用户名。
password 密码。
host 数据库IP地址,默认为UNIX socket类型。
port 连接端口号,默认为5432。
sslmode ssl模式,ssl连接时用。
sslcert 客户端证书路径,ssl连接时用。
sslkey 客户端密钥路径,ssl连接时用。
sslrootcert 根证书路径,ssl连接时用。

2)connection.cursor():此方法用于返回新的cursor对象。
原型:
cursor(name=None, cursor_factory=None, scrollable=None, withhold=False)

返回值 :cursor对象(用于整个数据库使用Python编程的cursor)。
参数 :
关键字 参数说明
name cursor名称,默认为None。
cursor_factory 用于创造非标准cursor,默认为None。
scrollable 设置SCROLL选项,默认为None。
withhold 设置HOLD选项,默认为False。

3)cursor.execute(query,vars_list) :此方法执行被参数化的SQL语句(即占位符,而不是SQL文字)。psycopg2模块支持用%s标志的占位符。

原型
curosr.execute(query,vars_list)

参数:
关键字 参数说明
query 待执行的sql语句。
vars_list 变量列表,匹配query中%s占位符。

4)cursor.fetchall():此方法获取查询结果的所有(剩余)行,并将它们作为元组列表返回。
原型:
cursor.fetchall()

5)connection.commit():此方法将当前挂起的事务提交到数据库。注意: 默认情况下,Psycopg在执行第一个命令之前打开一个事务:如果不调用commit(),任何数据操作的效果都将丢失。
原型:
connection.commit()

6)connection.close():此方法关闭数据库连接。注意: 此方法关闭数据库连接,并不自动调用commit()。如果只是关闭数据库连接而不调用commit()方法,那么所有更改将会丢失。
原型:
connection.close()

  • 41
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 29
    评论
### 回答1: 要连接OpenGauss数据库,可以使用Python的psycopg2模块。以下是连接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 数据库 使用 Python 的 psycopg2 库连接 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() 方法连接数据库即可,非常简单。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gauss松鼠会

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值