這篇文章跟大家介紹的是如何使用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()
相關推薦:
php使用PDO擴充連接PostgreSQL物件關聯式資料庫
以上是Python操作PostgreSQL的詳細內容。更多資訊請關注PHP中文網其他相關文章!