python_操作Postgresql数据库

import psycopg2
import logging
import os

class DBInit:
    #Postgersql 数据库连接
    def getPostgresqlConn(self):
        #数据库_IP
        postgresqlIp=os.getenv('postgresql_ip')
        #数据库_库名
        database_name = os.getenv('database_name')
        #数据库_用户
        postgresqlUser = os.getenv('postgresql_user')
        #数据库_密码
        postgresqlPwd = os.getenv('postgresql_pwd')

        #获取数据库连接
        try:
            conn = psycopg2.connect(database=database_name, user=postgresqlUser, password=postgresqlPwd, host=postgresqlIp, port='5432')
        except Exception as e:
            logging.error('postgresql连接异常:' + e)
        return conn

    #释放postgresql连接
    def closePostgresqlConn(self,conn):

        try:
            conn.cursor().close()
        except Exception as e:
            logging.error('连接指针释放失败:'+e)

        try:
            conn.close();
        except Exception as e:
            logging.error('连接释放失败:'+e)





#获取Postgresql连接
conn=DBInit().getPostgresqlConn()

#创建指针对象
cur=conn.cursor()

#建表
cur.execute("CREATE TABLE student(id integer,name varchar,sex varchar);")

#插入
cur.execute("INSERT INTO student(id,name,sex)VALUES(%s,%s,%s)",(1,'Aspirin','M'))
cur.execute("INSERT INTO student(id,name,sex)VALUES(%s,%s,%s)",(2,'Taxol','F'))
cur.execute("INSERT INTO student(id,name,sex)VALUES(%s,%s,%s)",(3,'Dixheral','M'))

#查询
cur.execute('SELECT * FROM student')
# cur.execute('SELECT count(*) FROM student')
user=cur.fetchall()
for u in user:
    print(u)

#提交
conn.commit();

#释放
DBInit().closePostgresqlConn(conn)



增删改查

  # 新增地图json
    def saveMapJson(self,id,applyId,json):
        #获取Postgresql连接
        conn=DBInit().getPostgresqlConn()
        #创建指针对象
        cur=conn.cursor()
        # 新增
        cur.execute("INSERT INTO map_json(id,apply_id,json,is_delete ) VALUES (%s,%s,%s,%s)",
                    (id, applyId, json, '0'))
        # 提交
        conn.commit();
        # 释放
        DBInit().closePostgresqlConn(conn)

    #查询地图json
    def getMapJson(self,id):
        # 获取Postgresql连接
        conn = DBInit().getPostgresqlConn()
        # 创建指针对象
        cur = conn.cursor()

        cur.execute('SELECT * FROM map_json where is_delete=\''+'0'+'\' and id=\''+ id+'\'')

        mapJson=cur.fetchall();
        return mapJson

    #查询全部地图json
    def getAllMapJson(self):
        # 获取Postgresql连接
        conn = DBInit().getPostgresqlConn()
        # 创建指针对象
        cur = conn.cursor()
        cur.execute('SELECT * FROM map_json where is_delete=\'' + '0' + '\' ')
        mapJsons=cur.fetchall();
        return mapJsons

    #修改地图json
    def updateMapJson(self,id,json):
        # 获取Postgresql连接
        conn = DBInit().getPostgresqlConn()
        # 创建指针对象
        cur = conn.cursor()
        # 修改
        cur.execute('update map_json set json=\''+json+'\' where id =\''+id+'\'')
        # 提交
        conn.commit();
        # 释放
        DBInit().closePostgresqlConn(conn)


    #删除地图json
    def delMapJson(self,id):
        # 获取Postgresql连接
        conn = DBInit().getPostgresqlConn()
        # 创建指针对象
        cur = conn.cursor()
        # 删除
        cur.execute('update map_json set is_delete=\'' + '1' + '\'  where id =\'' + id + '\'')
        # 提交
        conn.commit();
        # 释放
        DBInit().closePostgresqlConn(conn)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值