windows环境下python连接openGauss数据库的全过程

目录
  • 一、python 介绍
  • 二、Python下载及安装
  • 三、openGauss Connectors (Psycopg2) 介绍
  • 四、openGauss Connectors (Psycopg2)下载并初始化
  • 五、连接并访问openGauss数据库
  • 六、问题总结(FAQ)
  • 总结

一、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()

总结

到此这篇关于windows环境下python连接openGauss数据库的文章就介绍到这了,更多相关windows python连接openGauss内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python在windows调用svn-pysvn的实现

    作为EBS开发人员,开发工具用的多,部署代码类型多,管理程序麻烦,操作繁琐,一直是我最讨厌的事情.部署一次程序要使用好几个工具,改来改去,上传下载,实在难受. 扣了一下python,打算做一款集成工具,把代码管理.程序部署一步搞下来.中间有几个技术难点需要打通: 1. ERP调用linux的ssh执行shell获得源代码,下载到本机 2. 将源代码结构化存储并放到svn下,上传svn同步版本 3. 调用Jenkins执行部署,将源代码部署到正式环境 4. 该操作步骤做记录留底 现在测试的就是py

  • python读取Windows注册表的示例代码

    运行结果 代码 import winreg def read_reg(): location = r"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders" # 获取注册表该位置的所有键值 key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, location) print("\n" + "-"*100 + "\

  • Python制作Windows按键通知脚本

    目录 前言 1.准备 2.源码使用与解析 2.1 源码使用 2.2 源码分析 3.扩展触发通知 前言 对于键盘没有背光灯的同学而言,切换大小写或控制Num键开关的时候没有提示,经常需要试探性地输入一些字符来判断开关是否打开,体验非常糟糕. 因此,有人就想到自制脚本这一招,一旦触发大小写切换或Num键切换就进行windows通知提示: https://github.com/skate1512/Toggle_Keys_Notification 今天我们来试试这个脚本,此外,我们还可以基于这个项目,扩

  • Python3.10动态修改Windows系统本地IP地址

    目录 获取多网卡配置 动态切换静态IP 结语 一般情况下,局域网里的终端比如本地服务器设置静态IP的好处是可以有效减少网络连接时间,原因是过程中省略了每次联网后从DHCP服务器获取IP地址的流程,缺点是容易引发IP地址的冲突,当然,还有操作层面的繁琐,如果想要切换静态IP地址,就得去网络连接设置中手动操作,本次我们使用Python3.10动态地修改电脑的静态IP地址. 获取多网卡配置 一个网卡对应一个静态IP地址,但机器上未必只有一个网卡,所以如果想动态切换,必须要指定网卡名称,Win系统中通过

  • Python实现删除windows下的长路径文件

    目录 1.文章背景 2.使用 python 删除文件 3.文件系统关于长路径文件的相关定义 4.改造 python 程序,删除长路径文件 5.总结思考 1.文章背景 近期,笔者所在公司的某业务系统的存储临近极限,服务器马上就要跑不动了,由于该业务系统A包含多个子系统A1.A2.A3 ... An,这些子系统的中间存储文件由于设计原因,都存储在同一个父级目录之内,唯一不同的是,不同子系统产生的文件和文件夹的名字都以该子系统名开始.如A1子系统产生的文件命名方式均为A1xxxxxx, A2子系统产生

  • Windows环境下python环境安装使用图文教程

    Windows环境下python的安装与使用 一.python如何运行程序 首先说一下python解释器,它是一种让其他程序运行起来的程序.当你编写了一段python程序,python解释器将读取程序,并按照其中的命令执行,得出结果,实际上,解释器是代码与机器的计算机硬件之间的软件逻辑层. 通俗来说,我们的计算机是基于二进制进行运算的,无论你用什么语言来写程序,无论你的程序写的多么简单或多么复杂,最终交给计算机运行的一定是 0或1,因为计算机只能识别0和1. 我们目前使用的大多数编程语言都是高级

  • windows下python连接oracle数据库

    python连接oracle数据库的方法,具体如下 1.首先安装cx_Oracle包 2.解压instantclient-basic-windows.x64-11.2.0.4.0.zip到c:\oracle 3.拷贝instantclient_11_2下所有.dll文件到c:\python34\Lib\site-packages\下(根据自己的python版本拷贝到相应的site-packages文件夹下) python连接示例代码: # -*- coding: utf-8 -*- import

  • Linux环境下的Java(JDBC)连接openGauss数据库实践记录

    目录 一.测试环境: 本实验预置环境 二.Linux环境安装Java环境及配置步骤 三.准备链接数据库的环境 四.连接测试 五.经验小结(FAQ) 一.测试环境: 本实验预置环境 1)操作系统版本:CentOS 7 64位(CentOS Linux release 7.6.1810)2)DataBase & JDBC版本: openGauss 2.0.1. JDBC驱动版本:JDBC_2.0.0官方下载地址:https://opengauss.org/zh/download/ (Tips:官方最

  • linux下python3连接mysql数据库问题

    python语言的3.x完全不向前兼容,导致我们在python2.x中可以正常使用的库,到了python3就用不了了.比如说mysqldb 1.安装pymysql pymysql就是作为python3环境下mysqldb的替代物,进入命令行,使用pip安装pymysql pip install pymysql3 2.使用pymysql 在我们需要使用数据库的.py文件开头添加下面两行 import pymysql pymysql.install_as_MySQLdb() 第一行是引入pymysq

  • Windows平台Python连接sqlite3数据库的方法分析

    本文实例讲述了Windows平台Python连接sqlite3数据库的方法.分享给大家供大家参考,具体如下: 之前没有接触过sqlite数据库,只是听到同事聊起这个. 有一次,手机端同事让我帮着写个sql,后面说运行不了报错了,我问是什么数据库,同事说是sqlite,这才知道了还有sqlite这个数据库... 接下来说说Python连接sqlite数据库,非常简单,因为python中的sqlite模块也遵循了DB-API 2.0的规范,所以操作起来和sql server.MySQL.oracle

  • windows环境下mysql数据库的主从同步备份步骤(单向同步)

    windows下mysql双向同步备份实现方法以下的文章主要讲述的是在windows环境下实现MySQL数据库的主从同步备份的正确操作方案,我在一些相关的网站看见关于windows环境下实现MySQL数据库的主从同步备份的操作步骤描述,但是很少有对其成功操作到底的,所以拿出此篇较为完整的方案与大家一起分享. 以下配置在本机上已经成功: 实现功能:A为主服务器,B为从服务器,初始状态时,A和B中的数据信息相同,当A中的数据发生变化时,B也跟着发生相应的变化,使得A和B的数据信息同步,达到备份的目的

  • 详解在Windows环境下访问linux虚拟机中MySQL数据库

    Linux虚拟机:VMware +ubuntu16.04.4 windows本机:Navicat for MySQL 1.虚拟机中下载安装MySQL VMware下载安装和ubuntu16.04.4下载安装,请自行百度查询,本文默认这些已经安装好了. 在虚拟机中Ctrl+Alt+T打开一个终端,输入命令 sudo apt-get install mysql-server mysql-client ,然后按照提示输入. 等待安装完成,可以输入命令:whereis mysql 查看mysql的安装位

  • windows系统下Python环境搭建教程

    windows系统下Python环境的搭建 step1:下载Python程序 https://www.python.org/downloads/release/python-351/ 选择第一个下载下来(随随便下载哪个) step2:安装及配置环境 点击程序默认安装 step3:开发配置环境 电脑->系统->高级系统设置->环境变量->系统变量->path变量追加Python的安装路径 step:测试python安装是否成功 cmd打开命令行输入 python 命令 输入内容

  • Python连接DB2数据库

    在工作中遇到了这样的情况,项目中需要连接IBM的关系型数据库(DB2),关于这方面的库比较稀少,其中 ibm_db 是比较好用的一个库,网上也有教程,但是好像不准确,也不太详细,错误百出,没办法只能拿到后自己分析源码,总算搞定. 安装 环境需求: 首先是数据库DB2,下载连接直接百度,我下载是这两个文件: 只下载箭头所指即可,我还没在linux上做测试. 数据库API(这个东西找了好久,终于找到了合适的)(找不到搜:SQLAPI.zip) Python2.7 VCForPython2.7 ibm

  • python连接oracle数据库实例

    本文实例讲述了python连接oracle数据库的方法,分享给大家供大家参考.具体步骤如下: 一.首先下载驱动:(cx_Oracle) http://www.python.net/crew/atuining/cx_Oracle/ 不过要注意一下版本,根据你的情况加以选择. 二.安装: 首先配置oracle_home环境变量 执行那个exe安装程序就可以了,它会copy一个cx_Oracle.pyd到Libsite-packages目录下. 如果是linux,执行 复制代码 代码如下: pytho

随机推荐