Python模塊psycopg2連接postgresql的實現(xiàn)
1. 基礎語法
語法
psycopg2.connect( dsn #指定連接參數(shù)??梢允褂脜?shù)形式或 DSN 形式指定。 host #指定連接數(shù)據(jù)庫的主機名。 dbname #指定數(shù)據(jù)庫名。 user #指定連接數(shù)據(jù)庫使用的用戶名。 password #指定連接數(shù)據(jù)庫使用的密碼。 port #指定連接數(shù)據(jù)庫的端口號。 connection_factory #指定創(chuàng)建連接對象的工廠類。 cursor_factory #指定創(chuàng)建游標對象的工廠類。 async_ #指定是否異步連接(默認False)。 sslmode #指定 SSL 模式。 sslrootcert #指定證書文件名。 sslkey #指定私鑰文件名。 sslcert #指定公鑰文件名。 )
2. 基礎用法
import psycopg2 # 連接數(shù)據(jù)庫 conn_pg = psycopg2.connect("host=localhost dbname=test user=postgres password=123456 port=5432") # 創(chuàng)建一個游標 cur = conn_pg.cursor() # 執(zhí)行SQL語句 cur.execute("select * from t1 limit 10;") # 獲取返回的結(jié)果 rows = cur.fetchall() # 遍歷每行結(jié)果(也可以直接打印,輸出格式為列表) for i in rows: print(i) # 關(guān)閉游標 cur.close() # 關(guān)閉連接 conn_pg.close()
結(jié)果如下
3. 多條SQL
多條SQL語句直接放入 execute 方法中即可
import psycopg2 # 編寫要執(zhí)行的SQL語句 sql_statements = """ SELECT * FROM t1 WHERE c1 = 1; UPDATE t1 SET c2 = 'yt' WHERE c1 = 1; SELECT * FROM t1 WHERE c1 = 1; """ # 連接數(shù)據(jù)庫 with psycopg2.connect("host=localhost dbname=test user=postgres password=123456 port=5432") as conn_pg: with conn_pg.cursor() as cur: # 執(zhí)行SQL語句 cur.execute(sql_statements) # 獲取返回的結(jié)果 rows = cur.fetchall() # 輸出結(jié)果 print(rows) # 提交事務 conn_pg.commit()
這種方法只返回最后一條SQL語句的結(jié)果,如果需要全部返回,使用遍歷的方法逐條發(fā)送即可
4. 事務SQL
#!/usr/bin/python import psycopg2 # 連接數(shù)據(jù)庫 with psycopg2.connect("host=localhost dbname=test user=postgres password=123456 port=5432") as conn_pg: with conn_pg.cursor() as cur: try: cur.execute("BEGIN") #開始事務 cur.execute("INSERT INTO t1 VALUES (1, 'abc');") cur.execute("UPDATE t1 SET c2 = 'def' WHERE c1 = 1;") conn_pg.commit() #提交事務 except: conn.rollback() #回滾事務
到此這篇關(guān)于Python模塊psycopg2連接postgresql的實現(xiàn)的文章就介紹到這了,更多相關(guān)Python連接postgresql內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python+wxPython實現(xiàn)文件內(nèi)容搜索工具
在本篇文章中,我們將介紹如何使用?wxPython?庫創(chuàng)建一個簡單的文件搜索工具,文中的示例代碼講解詳細,具有一定的學習價值,感興趣的小伙伴可以了解一下2023-08-08Python pandas DataFrame操作的實現(xiàn)代碼
這篇文章主要介紹了Python pandas DataFrame操作的實現(xiàn)代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-06-06python調(diào)用c++ ctype list傳數(shù)組或者返回數(shù)組的方法
今天小編就為大家分享一篇python調(diào)用c++ ctype list傳數(shù)組或者返回數(shù)組的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-02-02

詳解使用python繪制混淆矩陣(confusion_matrix)

使用Django搭建網(wǎng)站實現(xiàn)商品分頁功能