Python操作PostgreSQL

不言
發布: 2018-04-04 15:37:11
原創
3444 人瀏覽過

這篇文章跟大家介紹的是如何使用Python操作PostgreSQL ,現在在這裡分享一下,有需要的朋友可以參考一下

Python操作PostgreSQL

前提條件:用戶計算機上安裝了PostgreSQL資料庫

安裝psycopg2 –> pip install psycopg2
1   、  psycopg2.connect(database=”testdb”, user=”postgres”, password=”cohondob”, host=”127.0.0.1”, port=”5432”) 這個API開啟一個連接到PostgreSQLSQL。如果成功開啟資料庫時,它會傳回一個連線物件。 www.yiibai.com
 2  、  connection.cursor()此程式建立一個遊標將用於整個資料庫使用Python程式設計。 yiibai.com
 3  、  cursor.execute(sql [, optional parameters])此程式執行SQL語句。可被參數化的SQL語句(即佔位符,而非SQL文字)。 psycopg2的模組支援佔位符用%s標誌 yiibai.com例如:cursor.execute(“insert into people values (%s, %s)”, (who, age))
 4  、  curosr.executemany(sql, seq_of_parameters)此程式執行SQL指令對所有參數序列或序列中的sql對應。 www.yiibai.com
 5  、  curosr.callproc(procname[, parameters])這個程式執行的儲存資料庫程式給定的名稱。程式預計為每一個參數,參數的順序必須包含一個條目。
 6 、   cursor.rowcount這個唯讀屬性,它傳回資料庫中的行的總數已修改,插入或刪除最後 execute*().
 7  、  connection.commit()此方法提交目前事務。如果不呼叫這個方法,無論做了什麼修改,自從上次呼叫commit()是不可見的,從其他的資料庫連接。
 8  、  connection.rollback()此方法會回滾任何變更資料庫自上次呼叫commit()方法。
 9 、   connection.close()此方法關閉資料庫連線。請注意,這並不自動調用commit()。如果你只是關閉資料庫連線而不呼叫commit()方法首先,那麼所有變更將會遺失! www.yiibai.com
 10  、 cursor.fetchone()這種方法擷取的查詢結果集的下一行,傳回一個序列,或無當沒有更多的資料是可用的。
 11  、 cursor.fetchmany([size=cursor.arraysize])這個例程中取出下一個群組的查詢結果的行數,並傳回一個清單。當沒有找到記錄,返回空列表。此方法試圖取得盡可能多的行所顯示的大小參數。
 12  、 cursor.fetchall()這個例程取得所有查詢結果(剩餘)行,並傳回一個清單。空白行時則傳回空列表。 www.yiibai.com

1、連接到資料庫

import psycopg2  #导入相关模块
#传入参数 数据库名 用户名 用户密码 主机地址 端口
conn = psycopg2.connect(database="mybase", user="postgres", password="asd123456", host="127.0.0.1", port="5432")

print "Ok"
登入後複製

2、建立表格

import psycopg2

conn = psycopg2.connect(database="mybase", user="postgres", password="asd123456", host="127.0.0.1", port="5432")

cur = conn.cursor() #建立操作游标
#传入的参数是 SQL 建表语句
cur.execute('''CREATE TABLE COMPANY
       (ID INT PRIMARY KEY     NOT NULL,
       NAME           TEXT    NOT NULL,
       AGE            INT     NOT NULL,
       ADDRESS        CHAR(50),
       SALARY         REAL);''')
print "ok"

conn.commit()  #注意,只有commit一下才会生效
conn.close()
登入後複製

3、插入資料

import psycopg2

conn = psycopg2.connect(database="mybase", user="postgres", password="asd123456", host="127.0.0.1", port="5432")

cur = conn.cursor()

#让它ID自动生成
cur.execute("INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY) VALUES ( 'Paul', 32, 'California', 20000.00 )");
#注意这里还可以返回插入数据的ID
results = cur.fetchone()
ID = results[0]  #返回插入的记录的id 便于后续操作

conn.commit()
conn.close()
登入後複製

4、刪除資料

import psycopg2

conn = psycopg2.connect(database="mybase", user="postgres", password="asd123456", host="127.0.0.1", port="5432")

cur = conn.cursor()

cur.execute("DELETE from COMPANY where ID=2;")

conn.commit
conn.close()
登入後複製

5、更新資料

import psycopg2

conn = psycopg2.connect(database="mybase", user="postgres", password="asd123456", host="127.0.0.1", port="5432")

cur = conn.cursor()

cur.execute("UPDATE COMPANY set SALARY = 25000.00 where ID=1")
conn.commit
conn.close()
登入後複製

6、查詢資料

import psycopg2

conn = psycopg2.connect(database="mybase", user="postgres", password="asd123456", host="127.0.0.1", port="5432")

cur = conn.cursor()

cur.execute("SELECT id, name, address, salary  from COMPANY")
rows = cur.fetchall() #这里返回查询的所有数据集
conn.close()
登入後複製

相關推薦:

##Python連接PostgreSQL資料庫的方法

php使用PDO擴充連接PostgreSQL物件關聯式資料庫    

php 連結postgreSql        #

以上是Python操作PostgreSQL的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!