暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Python+GaussDB实战:5分钟掌握Psycopg的使用技巧

6
想知道如何用Python轻松玩转华为GaussDB数据库?5分钟掌握Psycopg的使用技巧!本文提供完整代码示例,数据库开发小白也能秒上手!
1、图解云数据库GaussDB
2、从零玩转GaussDB:Java开发者必学的JDBC操作指南
关于《GaussDB工作级开发者认证》的学习材料以及实验环境,官方免费提供!详见文章最后章节。

一、环境准备篇

🔧 1分钟完成驱动部署

    # 创建代码目录
    mkdir -p opt/py/db/basic
    # 验证Python环境
    python3 -V  # 要求3.6+版本
    # 下载并解压驱动包
    wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/3.0.0/x86/openGauss-3.0.0-CentOS-x86_64-Python.tar.gz
    tar -zxvf openGauss-3.0.0-CentOS-x86_64-Python.tar.gz
    # 部署驱动文件
    mv psycopg2/ usr/local/lib/python3.6/site-packages/
    mv lib/* usr/local/lib
    # 配置环境变量
    echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib' >> ~/.bash_profile
    source ~/.bash_profile
    复制

    二、连接验证篇

    📡 测试数据库连通性
    创建conn.py
    文件:

      # opt/py/db/basic/conn.py
      import psycopg2
      conn = psycopg2.connect(
          database="demo",
          user="db_dev"
          password="gaussdb#_1",  # 替换实际密码
          host="192.168.0.32",     # 替换实际IP
          port=8000
      )
      print("数据库连接成功!")
      复制
      运行验证:
        python3 conn.py
        # 输出:数据库连接成功!
        复制

        三、实战操作篇

        🚀 完整示例
        创建demo.py
        文件:



          # 导入PostgreSQL数据库适配器(适用于GaussDB)
          import psycopg2


          # 1. 建立数据库连接(对应GaussDB实例)
          conn = psycopg2.connect(
              database="demo",        # 数据库名称
              user="db_dev",          # 用户名
              password="gaussdb#_1",  # 密码
              host="192.168.0.32",    # 数据库主节点IP
              port=8000               # 数据库端口
          )


          # 2. 创建游标对象(用于执行SQL操作)
          cur = conn.cursor()


          # 3. 执行建表SQL(创建员工表)
          cur.execute("""
              CREATE TABLE employee(
                  id integer,         -- 员工ID(整数类型)
                  name varchar,       -- 姓名(可变长度字符串)
                  sex varchar         -- 性别(可变长度字符串)
              );
          """)


          # 4. 插入数据(使用参数化查询防止SQL注入)
          # 注意:%s是参数占位符,非字符串拼接,更安全!
          cur.execute("""
              INSERT INTO employee(id,name,sex) 
              VALUES(%s,%s,%s)""", (1'Steve''M'))  # 插入第一条记录


          cur.execute("""
              INSERT INTO employee(id,name,sex) 
              VALUES(%s,%s,%s)""", (2'Emma''F'))   # 插入第二条记录


          cur.execute("""
              INSERT INTO employee(id,name,sex) 
              VALUES(%s,%s,%s)""", (3'Chris''M'))  # 插入第三条记录


          # 5. 执行查询并获取结果
          cur.execute('SELECT * FROM employee')  # 查询所有数据
          results = cur.fetchall()               # 获取全部结果集
          print(results)                         # 输出:[ (1, 'Steve', 'M'), (2, 'Emma', 'F'), (3, 'Chris', 'M') ]


          # 6. 提交事务并释放资源
          conn.commit()  # 提交所有操作(重要!否则数据不会持久化)
          cur.close()    # 关闭游标
          conn.close()   # 关闭连接


          复制
          运行验证:
            python3 demo.py 
            [(1, 'Steve''M'), (2, 'Emma''F'), (3, 'Chris''M')]
            复制
            四、官方学习材料
            官方文档:

            https://support.huaweicloud.com/gaussdb/index.html

            实验1:GaussDB数据库操作与管理综合实验

            https://lab.huaweicloud.com/experiment-detail_2373

            实验2:GaussDB数据库开发设计

            https://lab.huaweicloud.com/experiment-detail_2374

            实验3:GaussDB数据库应用程序开发实验

            https://lab.huaweicloud.com/experiment-detail_2442

            实验4:RDS for MySQL到GaussDB数据同步实验

            https://lab.huaweicloud.com/experiment-detail_2092

            实验5:GaussDB数据库性能优化实验

            https://lab.huaweicloud.com/experiment-detail_2445

            在线课件:

            https://connect.huaweicloud.com/courses/learn/Learning/sp:cloudEdu_?courseNo=course-v1:HuaweiX+CBUCNXDX027+Self-paced&courseType=1&ticket=ST-8229235-g7rfK31BhjK3dh1PVHvOEaok-sso&locale=zh-cn

            文章转载自数据库运维之道,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

            评论