欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python操作PostgreSQL數(shù)據(jù)庫(kù)的基本方法(增刪改查)

 更新時(shí)間:2023年09月17日 10:51:21   作者:張六十zhangliushi  
PostgreSQL數(shù)據(jù)庫(kù)是最常用的關(guān)系型數(shù)據(jù)庫(kù)之一,最吸引人的一點(diǎn)是它作為開(kāi)源數(shù)據(jù)庫(kù)且具有可拓展性,能夠提供豐富的應(yīng)用,這篇文章主要給大家介紹了關(guān)于Python操作PostgreSQL數(shù)據(jù)庫(kù)的基本方法,文中介紹了連接PostgreSQL數(shù)據(jù)庫(kù),以及增刪改查,需要的朋友可以參考下

前言

本文分享使用Python操作PostgreSQL數(shù)據(jù)庫(kù)的基本方法,包括數(shù)據(jù)庫(kù)連接、增、刪、改、查,供各位小伙伴參考。

一、連接PostgreSQL數(shù)據(jù)庫(kù)

操作MySQL數(shù)據(jù)庫(kù)主要使用psycopg2包,連接PostgreSQL數(shù)據(jù)庫(kù)的語(yǔ)法為connect(IP, 端口, 用戶名, 密碼, 數(shù)據(jù)庫(kù)名,編碼格式)。具體代碼如下:

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

二、增

(一)建表

以下語(yǔ)法中1、2、4、5為操作數(shù)據(jù)庫(kù)的通用語(yǔ)法,下文其他步驟也會(huì)使用。

  • 創(chuàng)建mysql連接:pymysql.connect(),詳見(jiàn)上文第一點(diǎn)
  • 創(chuàng)建游標(biāo):conn.cursor()
  • 編寫(xiě)建表語(yǔ)句,建表語(yǔ)句寫(xiě)在三引號(hào)中
    (1)create_sql = “”“xxx”“”
    (2)cursor.execute(create_sql)
  • 提交語(yǔ)句:conn.commit()
  • 關(guān)閉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()

(二)插入數(shù)據(jù)

  • 插入單條數(shù)據(jù)的語(yǔ)法和sql的插入類似,直接鍵值對(duì)插入,插入語(yǔ)句寫(xiě)在雙引號(hào)中。具體代碼如下:
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()
  • 查詢插入數(shù)據(jù),適用于從數(shù)據(jù)庫(kù)其他表查詢關(guān)聯(lián)后插入數(shù)據(jù)到新表。插入語(yǔ)句寫(xiě)在三引號(hào)中。具體代碼如下:
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()

三、刪

(一)刪表

直接刪除表數(shù)據(jù)和表結(jié)構(gòu),其語(yǔ)法和SQL刪表語(yǔ)法一致。具體代碼如下:

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

(二)刪除表數(shù)據(jù)

只刪除數(shù)據(jù),不刪除表結(jié)構(gòu)。其語(yǔ)法和SQL刪表數(shù)據(jù)語(yǔ)法一致。具體代碼如下:

import psycopg2
conn = psycopg2.connect(
    host='xxx',
    port='xxx',
    dbname='xxx',
    user='xxx',
    password='xxx'
)
cursor = conn.cursor()
# 刪表數(shù)據(jù)
cursor.execute("TRUCATE TABLE xx.yyy")
conn.commit()
conn.close()

三、改

(一)更新數(shù)據(jù)

將上文所建的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()

(二)結(jié)果展示

四、查

(一)查詢數(shù)據(jù)庫(kù)表

直接使用pandas包查詢數(shù)據(jù)庫(kù)表,語(yǔ)法為read_sql(“select xxx from yyy”, con=數(shù)據(jù)庫(kù)連接)。

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)

總結(jié)

除了PostgreSQL數(shù)據(jù)庫(kù)外,業(yè)界常用的數(shù)據(jù)庫(kù)MySQL也可以使用Python進(jìn)行操作,具體情況可參考作者的另一篇博客Python操作MySQL數(shù)據(jù)庫(kù)。

到此這篇關(guān)于Python操作PostgreSQL數(shù)據(jù)庫(kù)的文章就介紹到這了,更多相關(guān)Python操作PostgreSQL內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Pytorch中TensorBoard及torchsummary的使用詳解

    Pytorch中TensorBoard及torchsummary的使用詳解

    這篇文章主要介紹了Pytorch中TensorBoard及torchsummary的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-05-05
  • .dcm格式文件軟件讀取及python處理詳解

    .dcm格式文件軟件讀取及python處理詳解

    今天小編就為大家分享一篇.dcm格式文件軟件讀取及python處理詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • Pycharm運(yùn)行時(shí)總是跳出Python?Console問(wèn)題

    Pycharm運(yùn)行時(shí)總是跳出Python?Console問(wèn)題

    這篇文章主要介紹了Pycharm運(yùn)行時(shí)總是跳出Python?Console問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Python csv文件的讀寫(xiě)操作實(shí)例詳解

    Python csv文件的讀寫(xiě)操作實(shí)例詳解

    這篇文章主要介紹了Python csv文件的讀寫(xiě)操作實(shí)例詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • 探索Python元類與class語(yǔ)句協(xié)議掌握類的控制權(quán)

    探索Python元類與class語(yǔ)句協(xié)議掌握類的控制權(quán)

    這篇文章主要介紹了通過(guò)Python元類與class語(yǔ)句協(xié)議掌握類的控制權(quán)探索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • Django項(xiàng)目創(chuàng)建的圖文教程

    Django項(xiàng)目創(chuàng)建的圖文教程

    本文主要介紹了Django項(xiàng)目創(chuàng)建的圖文教程,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 使用Python繪制實(shí)時(shí)的動(dòng)態(tài)折線圖

    使用Python繪制實(shí)時(shí)的動(dòng)態(tài)折線圖

    這篇文章主要為大家詳細(xì)介紹了如何使用Python繪制實(shí)時(shí)的動(dòng)態(tài)折線圖,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-11-11
  • Python之集合詳解

    Python之集合詳解

    今天小編就為大家分享一篇關(guān)于Python中的集合介紹,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2021-09-09
  • 詳解Python類和對(duì)象內(nèi)容

    詳解Python類和對(duì)象內(nèi)容

    Python遵循面向?qū)ο蟮木幊谭妒?。它處理聲明python類,從它們創(chuàng)建對(duì)象并與用戶交互。在面向?qū)ο蟮恼Z(yǔ)言中,程序被分成獨(dú)立的對(duì)象,或者你可以說(shuō)成幾個(gè)小程序。每個(gè)對(duì)象代表應(yīng)用程序的不同部分,它們可以相互通信。類是對(duì)客觀世界中事物得抽象,而對(duì)象是類實(shí)例化后的實(shí)體
    2021-06-06
  • python Yaml、Json、Dict之間的轉(zhuǎn)化

    python Yaml、Json、Dict之間的轉(zhuǎn)化

    這篇文章主要介紹了python Yaml 、Json 、Dict 之間的轉(zhuǎn)化的示例,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-10-10

最新評(píng)論