Python操作PostgreSQL数据库的基本方法(增删改查)

 更新时间:2023年09月17日 10:51:21   作者:张六十zhangliushi  
PostgreSQL数据库是最常用的关系型数据库之一,最吸引人的一点是它作为开源数据库且具有可拓展性,能够提供丰富的应用,这篇文章主要给大家介绍了关于Python操作PostgreSQL数据库的基本方法,文中介绍了连接PostgreSQL数据库,以及增删改查,需要的朋友可以参考下

前言

本文分享使用Python操作PostgreSQL数据库的基本方法,包括数据库连接、增、删、改、查,供各位小伙伴参考。

一、连接PostgreSQL数据库

操作MySQL数据库主要使用psycopg2包,连接PostgreSQL数据库的语法为connect(IP, 端口, 用户名, 密码, 数据库名,编码格式)。具体代码如下:

import psycopg2
conn = psycopg2.connect(
    host='xxx',
    port='xxx',
    dbname='xxx',
    user='xxx',
    password='xxx'
)

二、增

(一)建表

以下语法中1、2、4、5为操作数据库的通用语法,下文其他步骤也会使用。

  • 创建mysql连接:pymysql.connect(),详见上文第一点
  • 创建游标:conn.cursor()
  • 编写建表语句,建表语句写在三引号中
    (1)create_sql = “”“xxx”“”
    (2)cursor.execute(create_sql)
  • 提交语句:conn.commit()
  • 关闭mysql连接:conn.close()
import psycopg2
conn = psycopg2.connect(
    host='xxx',
    port='xxx',
    dbname='xxx',
    user='xxx',
    password='xxx'
)
cursor = conn.cursor()
# 建表
create_sql = """
    CREATE TABLE xxx.yyy(
        id int
       ,name varchar(10)
    );
"""
cursor.execute(create_sql)
print("create successfully")
conn.commit()
conn.close()

(二)插入数据

  • 插入单条数据的语法和sql的插入类似,直接键值对插入,插入语句写在双引号中。具体代码如下:
import psycopg2
conn = psycopg2.connect(
    host='xxx',
    port='xxx',
    dbname='xxx',
    user='xxx',
    password='xxx'
)
cursor = conn.cursor()
# 插入
insert_sql = "INSERT INTO xx.yyy (id, name) VALUES (%s, '%s')" % (1, '张三')
cursor.execute(insert_sql)
print("insert successfully")
conn.commit()
conn.close()
  • 查询插入数据,适用于从数据库其他表查询关联后插入数据到新表。插入语句写在三引号中。具体代码如下:
import psycopg2
conn = psycopg2.connect(
    host='xxx',
    port='xxx',
    dbname='xxx',
    user='xxx',
    password='xxx'
)
cursor = conn.cursor()
# 插入
insert_sql = """
    DROP TABLE IF EXISTS xx.yyy;
    CREATE TABLE IF NOT EXISTS xx.yyy AS
    SELECT
        aa
       ,bb
    FROM xx.yyy
"""
cursor.execute(insert_sql)
print("insert successfully")
conn.commit()
conn.close()

三、删

(一)删表

直接删除表数据和表结构,其语法和SQL删表语法一致。具体代码如下:

import psycopg2
conn = psycopg2.connect(
    host='xxx',
    port='xxx',
    dbname='xxx',
    user='xxx',
    password='xxx'
)
cursor = conn.cursor()
# 删表
cursor.execute("DROP TABLE IF EXISTS xx.yyy")
conn.commit()
conn.close()

(二)删除表数据

只删除数据,不删除表结构。其语法和SQL删表数据语法一致。具体代码如下:

import psycopg2
conn = psycopg2.connect(
    host='xxx',
    port='xxx',
    dbname='xxx',
    user='xxx',
    password='xxx'
)
cursor = conn.cursor()
# 删表数据
cursor.execute("TRUCATE TABLE xx.yyy")
conn.commit()
conn.close()

三、改

(一)更新数据

将上文所建的yyy表中,“张三”改为“何老六”。具体代码如下:

import psycopg2
conn = psycopg2.connect(
    host='xxx',
    port='xxx',
    dbname='xxx',
    user='xxx',
    password='xxx'
)
cursor = conn.cursor()
cursor.execute("UPDATE xx.yyy SET name = '何老六' WHERE id = 1")
conn.commit()
conn.close()

(二)结果展示

四、查

(一)查询数据库表

直接使用pandas包查询数据库表,语法为read_sql(“select xxx from yyy”, con=数据库连接)。

import psycopg2
import pandas as pd
conn = psycopg2.connect(
    host='xxx',
    port='xxx',
    dbname='xxx',
    user='xxx',
    password='xxx'
)
df = pd.read_sql("select * from xx.yyy limit 100;", con=conn)
print(df)

总结

除了PostgreSQL数据库外,业界常用的数据库MySQL也可以使用Python进行操作,具体情况可参考作者的另一篇博客Python操作MySQL数据库

到此这篇关于Python操作PostgreSQL数据库的文章就介绍到这了,更多相关Python操作PostgreSQL内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python中NumPy的矩阵与通用函数

    Python中NumPy的矩阵与通用函数

    这篇文章主要介绍了Python中NumPy的矩阵与通用函数,Numpy是python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表结构要高效的多支持大量的维度数组与矩阵运算,需要的朋友可以参考下
    2023-07-07
  • Python使用jsonpath_ng的方法

    Python使用jsonpath_ng的方法

    json path_ng 是 Python 中一款解析和操作 JSON 数据的工具,它可以通过 JSONPath 语法来对 JSON 数据进行定位和提取,其用法类似于 XPath 语法对 XML 数据进行定位,这篇文章主要介绍了Python使用jsonpath_ng的方法,需要的朋友可以参考下
    2023-12-12
  • Python如何发布程序的详细教程

    Python如何发布程序的详细教程

    Python是一种面向对象的解释型计算机程序设计语言,现在很多人都在使用,尤其是其跨平台特性及自然语言属性,获得很多人的钟情,那么如何把Python程序打包为Windows系统中的exe可执行程序呢
    2018-10-10
  • 浅析python参数的知识点

    浅析python参数的知识点

    在本文里小编给大家分享的是关于python参数的知识点内容,正在学习的读者们跟着思考下吧。
    2018-12-12
  • 关于Kotlin中SAM转换的那些事

    关于Kotlin中SAM转换的那些事

    这篇文章主要给大家介绍了关于Kotlin中SAM转换的那些事,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Django中使用pillow实现登录验证码功能(带刷新验证码功能)

    Django中使用pillow实现登录验证码功能(带刷新验证码功能)

    这篇文章主要介绍了Django中使用pillow实现登录验证码功能(带刷新验证码功能),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • pycharm必知的一些简单设置方法

    pycharm必知的一些简单设置方法

    这篇文章主要介绍了pycharm必知的一些简单设置方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • 检测pytorch是否使用GPU的方法小结

    检测pytorch是否使用GPU的方法小结

    pytorch在服务器上跑的很慢,nvidia-smi显示GPU利用率一直是0%,所以本文总结了一些可以检测深度学习算法是否在使用GPU的方法,需要的朋友可以参考下
    2023-12-12
  • Python实现数通设备端口使用情况监控实例

    Python实现数通设备端口使用情况监控实例

    这篇文章主要介绍了Python实现数通设备端口使用情况监控的方法,涉及Python针对设备监控的操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • Python中几种属性访问的区别与用法详解

    Python中几种属性访问的区别与用法详解

    这篇文章主要给大家介绍了关于Python中几种属性访问的区别和用法的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-10-10

最新评论