postgres篇---python连接postgres数据库2

这篇具有很好参考价值的文章主要介绍了postgres篇---python连接postgres数据库2。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

import psycopg2


class PostgresDB:
    def __init__(self, dbname, user, password, host, port):
        self.dbname = dbname
        self.user = user
        self.password = password
        self.host = host
        self.port = port
        self.conn = psycopg2.connect(
            dbname=self.dbname,
            user=self.user,
            password=self.password,
            host=self.host,
            port=self.port
        )
        self.cur = self.conn.cursor()

    def execute_tb(self, sql):
        self.cur.execute(sql)
        self.conn.commit()

    def execute(self, sql):
        self.cur.execute(sql)
        self.conn.commit()
        return self.cur.fetchall()

    def close(self):
        self.cur.close()
        self.conn.close()

    def insert(self, table, fields, values):
        sql = f"INSERT INTO {table} ({','.join(fields)}) VALUES ({','.join(['%s']*len(values))})"
        self.cur.execute(sql, values)
        self.conn.commit()

    def update(self, table, fields, values, condition):
        sql = f"UPDATE {table} SET {','.join([f'{field}=%s' for field in fields])} WHERE {condition}"
        self.cur.execute(sql, values)
        self.conn.commit()

    def delete(self, table, condition):
        sql = f"DELETE FROM {table} WHERE {condition}"
        self.cur.execute(sql)
        self.conn.commit()

    def select(self, table, fields, condition=None):
        if condition is None:
            sql = f"SELECT {','.join(fields)} FROM {table}"
            self.cur.execute(sql)
        else:
            sql = f"SELECT {','.join(fields)} FROM {table} WHERE {condition}"
            self.cur.execute(sql)
        return self.cur.fetchall()


# 使用示例:

# 连接数据库
db = PostgresDB(dbname='slife_db',user='postgres',password='Ab123456',host='localhost',port='5432')

# 插入数据、
table_name = "user1"
# 新建一个方法用于插入表格
db.execute_tb('''CREATE TABLE IF NOT EXISTS %s (
  id SERIAL PRIMARY KEY,
  uuid VARCHAR(255) NOT NULL,
  url VARCHAR(255) NOT NULL,
  device VARCHAR(255) NOT NULL,
  imgtime TIMESTAMP(255) NOT NULL,
  platenumber VARCHAR(255),
  result1 TEXT,
  pro FLOAT NOT NULL,
  img VARCHAR(255) NOT NULL,
  flag VARCHAR(2) NOT NULL,
  tag VARCHAR(2) NOT NULL) ''' % table_name)

# 插入数据
# db.insert(table='user1', fields=['uuid', 'url', 'device', 'imgtime', 'platenumber', 'result1', 'pro', 'img', 'flag', 'tag'],
#           values=('25a5ed28-0e53-11ee-9499-ddcdac16a28e', '/workspace/data/images/2023-06-19/0007/2023-06-19-11-17-45.jpeg',
#                   '0005', '2023-06-19 11:17:45', '沪DP9002', '''{'cls': ['2'], 'pro': [0.534], 'x': [1273], 'y': [597], 'w': [140], 'h': [116]}''',
#                   0.534, './data/images/2023-06-19/box_imgs/0007/2023-06-19-11-17-45.jpeg', '0', '0'))
#
# # 更新数据
db.update(table=table_name, fields=['tag'], values=(1,), condition="uuid='25a5ed28-0e53-11ee-9499-ddcdac16a28e'")

# 删除数据
# db.delete(table='users', condition="name='Alice'")

# 查询数据
result = db.select(table=table_name, fields=['pro', 'img'])
print(result)

# 关闭数据库连接
db.close()

文章来源地址https://www.toymoban.com/news/detail-509844.html

到了这里,关于postgres篇---python连接postgres数据库2的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python连接数据库

    记录几种常见的python连接数据库的代码,方便用的时候直接取。 1.python连接mysql 2.python连接hive 3.python连接德鲁伊库 4.python连接sqlsever 5.python连接oracle 6.python 连接impala查询:         

    2024年02月12日
    浏览(38)
  • Python 连接 PostgreSQL 数据库

    Psycopg 是最受欢迎的用于连接 PostgreSQL 的 Python 驱动库, Psycopg 完全遵守 Python DB API 2.0 规范, 并且是线程安全的, 在底层直接调用 C 库 libpq 安装 psycopg2-binary 是预编译的包, 自带 libpq 和 libssl 库 psycopg2 的命名来源于 http://psyco.sourceforge.net/, 末尾的 pg 表示 PostgreSQL 简单示例 使用

    2024年02月06日
    浏览(54)
  • python连接postgresql数据库

    postgresql是常用的关系型数据库,并且postgresql目前还保持着全部开源的状态,所以我们今天就一起来学习一下,如何用python连接postgresql。 官方文档地址: https://www.psycopg.org/docs/cursor.html 若是增、删、更等操作,则操作流程为: connect 连接 获取游标对象 cursor 执行sql得到结果

    2024年02月16日
    浏览(44)
  • python与数据库连接操作

    下载命令: pip install PyMySQL 一般我们会使用镜像下载,这样会比较快,比如清华镜像: pip install pymysql -i https://pypi.tuna.tsinghua.edu.cn/simple 连接数据库之前,我们需要知道自己需要连接数据库的用户名,密码,数据库名等信息 步骤: 连接connect() 创建cursor()对象 使用excute()执行S

    2024年02月08日
    浏览(53)
  • Python 连接 MySQL 数据库

    在实际数据分析和建模过程中,我们通常需要从数据库中读取数据,并将其转化为 Pandas dataframe 对象进行进一步处理。而 MySQL 数据库是最常用的关系型数据库之一,因此在 Python 中如何连接 MySQL 数据库并查询数据成为了一个重要的问题。 本文将介绍两种方法来连接 MySQL 数据

    2024年02月16日
    浏览(51)
  • Python连接SQLserver数据库

    前进四的状态出发! 学习Python 连接 数据库 解决问题: 1:如何连接数据库 2:如何进行简单查询 3:如何将查询中的中文乱码给修复 4:如何进行插入,更新,删除 主要在pymssql.connect 中添加charset = ‘cp936’ 原因:因为字符串字段类型为:varchar,造成读取数据乱码。 方法一的缺点: 如果

    2024年02月02日
    浏览(51)
  • PostgreSQL数据库连接报错:psql: error: FATAL: password authentication failed for user “postgres“

    环境如下,使用yum方式安装PostgreSQL hostname IP地址 操作系统版本 PostgreSQL版本 jeven 192.168.3.166 centos 7.6 13.10 PostgreSQL(经常被简称为Postgres)是一个开源的关系型数据库管理系统,它基于SQL语言实现了所有主流功能,支持事务处理、并发控制、复杂查询、外键、触发器、存储过程

    2024年02月04日
    浏览(61)
  • Python连接达梦数据库

    python如果想连接达梦数据库,必须要安装dmPython。 简介: dmPython 是 DM 提供的依据 Python DB API version 2.0 中 API 使用规定而开发的数据库访问接口。dmPython 实现这些 API,使 Python 应用程序能够对 DM 数据库进行访问。 dmPython 通过调用 DM DPI 接口完成 python 模块扩展。在其使用过程中

    2024年02月16日
    浏览(45)
  • 使用python连接mysql数据库

    第一章 Python 机器学习入门之连接mysql数据库 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 在控制台输入如下: 代码如下(示例): 演示

    2024年02月16日
    浏览(69)
  • Python小姿势 - Python连接MySQL数据库

    Python连接MySQL数据库 Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。 Python的创始人为吉多·范罗苏姆(Guido van Rossum),于1989年底圣诞节期间,为了打发无聊的圣诞节,决心开发一个新的脚本解释程序,解释程序当时广泛用于Unix系统上,Guido最初取名为“

    2024年02月04日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包