PYTHON 幫助

psycopg2(開發人員操作說明)

發佈 2024年8月13日
分享:

psycopg2library 是一個受歡迎的針對 Python 編程語言的 PostgreSQL 資料庫適配器。 它以高效、線程安全以及完整實現 Python DB API 2.0 規範而聞名。 讓我們探索其功能並查看一些代碼範例。 在本文的後面,我們將了解IronPDF,來自 的 PDF 生成庫Iron Software.

介紹

Psycopg2設計為高效且安全,適合重度多執行緒應用程式。 其一些主要功能包括:

  • 執行緒安全性:多個執行緒可以共享同一個連接——能夠處理建立和銷毀大量游標的多執行緒應用程式。
  • 客戶端和伺服器端游標:有效處理大型資料集。
  • 非同步通信與通知:支持非同步操作。
  • COPY 支援:使用 COPY TO 和 COPY FROM 高效批量加載數據。
  • 適應系統:自動適配 Python 類型到 PostgreSQL 類型;該套件自動轉換為對應的 PostgreSQL 數據類型。
  • Unicode 與 Python 3 友好:完全支援 Unicode 與 Python 3。

安裝

您可以安裝psycopg2使用 pip:

pip install psycopg2

或者,您可以在本地使用來源包中的 setup.py。 您可以從源代碼庫獲取源代碼包。這裡:

python setup.py build
sudo python setup.py install
PYTHON

對於不需要編譯器或外部庫的獨立包,您可以使用psycopg2-binary包:

pip install psycopg2-binary

基本用法

這裡有一個簡單的例子來讓你開始使用 psycopg2。

連接到數據庫

首先,您需要連接到您的 PostgreSQL 資料庫:

import psycopg2
# Connect to your PostgreSQL database
conn = psycopg2.connect(
    dbname="your_dbname",
    user="your_username",
    password="your_password",
    host="your_host",
    port="your_port"
)
# Create a cursor object
cur = conn.cursor()
PYTHON

執行查詢

您可以使用游標物件執行 SQL 查詢:

# Execute a query
cur.execute("SELECT * FROM your_table")
# Fetch all results
rows = cur.fetchall()
# Print the results
for row in rows:
    print(row)
PYTHON

插入資料

以下是如何在表格中插入數據:

# Insert data into a table
cur.execute(
    "INSERT INTO your_table (column1, column2) VALUES (%s, %s)",
    ("value1", "value2")
)
# Commit the transaction
conn.commit()
PYTHON

關閉連接

完成後不要忘記關閉游標和連線:

# Close the cursor and connection
cur.close()
conn.close()
PYTHON

進階功能

使用COPY進行批量加載

COPY 命令對於批量加載資料非常有用:

# Use COPY to load data from a file
with open('data.csv', 'r') as f:
    cur.copy_from(f, 'your_table', sep=',')
conn.commit()
PYTHON

非同步通知

您可以接收來自資料庫的非同步通知:

# Listen for notifications
cur.execute("LISTEN your_channel")
# Wait for a notification
conn.poll()
while conn.notifies:
    notify = conn.notifies.pop(0)
    print("Got NOTIFY:", notify.payload)
PYTHON

介紹 IronPDF

psycopg2(開發人員如何運作):圖1 - IronPDF:Python PDF 庫

IronPDF是一個強大的 Python 程式庫,專為使用 HTML、CSS、圖像和 JavaScript 創建、編輯及簽署 PDF 文件而設計。 它提供商用級性能且佔用較低的記憶體資源。 主要功能包括:

HTML 轉換為 PDF:

將 HTML 文件、HTML 字串和 URL 轉換為 PDF。 例如,使用 Chrome PDF 渲染器將網頁呈現為 PDF。

跨平台支持:

兼容各種 .NET 平台,包括 .NET Core、.NET Standard 和 .NET Framework。 它支援 Windows、Linux 和 macOS。

編輯和簽署:

設置屬性、通過密碼和權限添加安全性,並對您的PDF應用數字簽名。

頁面模板和設置:

自訂 PDF 的頁眉、頁腳、頁碼和可調整的邊距。 支持響應式版面和自訂紙張尺寸。

標準合規性:

遵循 PDF 標準,如 PDF/A 和 PDF/UA。 它支持 UTF-8 字符編碼並處理圖像、CSS 和字體等資產。

使用 IronPDF 和 psycopg2 生成 PDF 文件

import psycopg2
from ironpdf import * 
# Apply your license key
License.LicenseKey = "Key"
# Connect to your local PostgreSQL database
conn = psycopg2.connect(
    dbname="demo",
    user="postgres",
    password="postgres",
    host="localhost",
    port="5432"
)
# Create a cursor object
cur = conn.cursor()
cur.execute('''
    CREATE TABLE IF NOT EXISTS users (
        id INTEGER PRIMARY KEY,
        name TEXT NOT NULL,
        age INTEGER
    )
''')
# Commit the transaction with connection object
conn.commit()
# Define the SQL statement for inserting data into the table
insert_query = '''
    INSERT INTO users (id, name, age)
    VALUES (%s, %s,%s)
'''
# Data to be inserted
userData1 = (1, 'John', 25)
# Execute the SQL command to insert data
cur.execute(insert_query, userData1)
# Data to be inserted
userData2 = (2, 'Smith', 35)
# Execute the SQL command to insert data
cur.execute(insert_query, userData2)
# Data to be inserted
userData3 = (3, 'Tom', 29)
# Execute the SQL command to insert data
cur.execute(insert_query, userData3)
# Commit the transaction
conn.commit()
# Execute a query
cur.execute("SELECT * FROM users")
# Fetch all results
rows = cur.fetchall() 
renderer = ChromePdfRenderer()
# Create a PDF from a HTML string using Python
content = "<h1>Awesome Iron PDF with psycopg2</h1>"
content += "<p>table data</p>"
for row in rows:
    print(row)
    content += "<p>"+str(row)+"</p>"
# Close the cursor and connection
cur.close()
conn.close()
pdf = renderer.RenderHtmlAsPdf(content)
    # Export to a file or Stream
pdf.SaveAs("Demopsycopg2.pdf")
PYTHON

程式碼說明

該腳本展示了使用 psycopg2 與 PostgreSQL 資料庫的互動,以及資料操作。(創建, 插入, 檢索),並與IronPDF整合進行文件生成。

  1. 資料庫連線:使用 `psycopg2` 連接到名為「demo」的本地 PostgreSQL 資料庫,指定用戶驗證憑證和資料庫主機詳細資訊。

  2. 創建表格:定義並執行一條 SQL 語句,以創建一個名為 users 的表格(如果尚不存在)。該表具有列 id(整數, 主鍵), `name`(文字,不為 null),和 age(整數).

  3. 資料插入:使用參數化查詢將三行數據插入`users`表中(`用戶資料1`, `用戶資料2`, `用戶資料3`). 每個元組包含 `id`、`name` 和 `age` 的值。

  4. 交易管理:在建立表格和插入資料後提交交易,以確保更改儲存到資料庫中。

  5. 資料檢索:執行 SELECT 查詢以獲取所有行(`SELECT * FROM users`)從 `users` 資料表中檢索結果(`行`).

  6. PDF 生成都:使用 `IronPDF` 從 HTML 內容生成 PDF 文件。 HTML 內容包含一個標題以及從 `users` 表中獲取數據的格式化表示。

  7. 檔案儲存:將生成的 PDF 文件儲存為 "Demopsycopg2.pdf" 於目前的目錄中。

  8. 連接關閉:此功能關閉數據庫游標(`cur`)和數據庫連接(連線)釋放資源並確保正確清理。

    為了例外處理,您可以將腳本包裹在 try-catch 區塊中,以確保在某個查詢失敗或連接失敗時,所有錯誤操作都得到處理。

輸出

psycopg2(它對開發人員的運作方式):圖2 - 示例控制台輸出

PDF

psycopg2(開發人員如何使用):圖 3 - 範例輸出,利用 psycopg2 存儲和檢索數據,同時 IronPDF 生成 PDF 報告

IronPDF 授權

IronPDF 在 Python 授權金鑰上運行。 IronPDF for Python 提供免費試用許可金鑰,讓用戶在購買前測試其豐富的功能。

在使用 IronPDF 套件之前,將授權密鑰放置在腳本的開頭:

from ironpdf import * 
# Apply your license key
License.LicenseKey = "key"
PYTHON

結論

Psycopg2 是一個強大且靈活的函式庫,用於在 Python 中與 PostgreSQL 資料庫進行互動。 它的全面功能集和高效設計使其成為簡單和複雜數據庫操作的絕佳選擇。 IronPDF是一個強大的 Python 套件和庫,能夠直接從 Python 應用程式中創建、操作和渲染 PDF 文件。 它提供了全面的功能,能從 HTML 內容生成 PDF,並可無縫整合現有的網頁技術。 使用 IronPDF,開發人員可以高效自動生成報告、發票和其他文件,從而提高生產力和用戶體驗。 其功能包括互動式 PDF 表單、文本提取、合併和拆分 PDF,以及添加安全功能如密碼保護。 IronPDF 的多功能性和易用性使其成為開發人員在其 Python 專案中實現 PDF 生成和操作功能的寶貴工具。

< 上一頁
sqlite3 Python(如何為開發人員運作)
下一個 >
crc32c Python(開發者如何使用)

準備開始了嗎? 版本: 2024.11.1 剛剛發布

免費 pip 安裝 查看許可證 >