Python連接Postgres數據庫


使用psycopg2連接postgresql,首先需要安裝python psycopg2依賴包

# 下載 psycopg2 模塊
pip install psycopg2

然后引用psycopg2,調用psycopg2.connect接口,實現postgresql連接,進而查詢或更新postgresql數據。

注意:在插入數據時,需要commit提交由於總是忘記,所以我是增刪改查都會寫上

import psycopg2

conn = psycopg2.connect(database="tables", user="postgres", password="***", host="127.0.0.1", port="5432")
cur = conn.cursor()

# 執行sql語句 查詢
cur.execute("SELECT name, years from students")
# 獲取所有
rows = cur.fetchall()


# 提交 , 關閉數據庫
# 如果只是查詢可以只是 conn .close()    
# 如果是修改了數據庫就要都寫 
conn .commit()
cur.close()
conn .close()    

 注意 : 如果在查詢的時候附加了條件,比如只是查詢某天的數據,或者取一條數據(pg可以存儲json格式),那么就要使用 fetchone()[0]

# 獲取的一條數據
row = cur.fetchone()[0]

 注意 : 如果在表中的字段這樣 , 那么我們在查詢的時候,比如查詢 2020-01-10 日期的學生數據 

CREATE TABLE students
(
    id            serial primary key,      # id
    create_date   date   not null default current_date,     # 創建時間
    modified_date timestamp       default current_timestamp,   # 寫入時間
    modified_user varchar         default current_user,     # 所屬者
    data          jsonb  not null    # 存儲學生信息 , 比如 json中放全校學生的名字/年齡/成績等
);
import psycopg2

conn = psycopg2.connect(database="tables", user="postgres", password="***", host="127.0.0.1", port="5432")
cur = conn.cursor()

date = "2020-01-10"
date_param = f'\'{date}\''   # 轉個格式


# 執行sql語句 查詢
cur.execute("SELECT data from students where create_date = {date_param}")
# 獲取所有
student = cur.fetchone()[0]


# 提交 , 關閉數據庫
# 如果只是查詢可以只是 conn .close()    
# 如果是修改了數據庫就要都寫 
conn .commit()
cur.close()
conn .close()   

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM