psycopg2 mysql_使用psycopg2操作PostgreSQL数据库之二
使用psycopg2操作PostgreSQL數據庫之二
傭工7001
1. 連接數據庫:
import psycopg2
import psycopg2.extras
conn = psycopg2.connect(host='localhost', port=5432, user='myuser', password='mypass', database='mydb')
備注:connect()也可以使用一個大的字符串參數, 比如”host=localhost port=5432 user=postgres password=postgres dbname=test”
2. 打開Cursor:
cursor = conn.cursor(cursor_factory=psycopg2.extras.DictCursor)備注:這里創建的是一個字典Cursor, 這樣返回的數據, 都是字典的形式, 方便使用,如果不指定,則默認返回元組形式的結果集,只能以索引訪問字段值。
3. 執行SQL查詢:
(1)執行sql時傳入參數,要使用占位符%s(無論數據類型)
cursor.execute('SELECT * FROM operators WHERE id = %s;', (3,))特別說明:
sql腳本必須以分號結尾, 不能省略.
傳遞參數時,必須以元組的形式提供,一個參數時后面必須加逗號! (3)這樣是不行的.
(2)三種方式取得查詢結果:
psycopg2有3個方法用以取得結果:fetchone(), fetchall()和fetchmany()。
fetchone()????? 返回一條結果,如果找不到,返回None。
fetchall()??????? 返回所有結果,如果找不到,返回空list.。
fetchmany()?? 調用時需要給出1個指定返回結果數的參數, 每次調用,游標向后移,返回值如同fetchall()。
4. 執行增刪改sql語句
執行增刪改的sql語句,執行方法同查詢語句一樣,同樣使用cursor.execute(),只是執行后不需要獲取返回值,但是需要使用的連接對象的commit()方法提交一下,才會把數據提交到數據庫當中。
5.編程調試技巧:
查看psycopg2生成的sql腳本:Cursor對象的mogrify()方法會返回生成的sql腳本,調試時可以用來查看生成的sql是否正確。cursor.mogrify(‘SELECT * FROM test WHERE a = %s AND b = %s;’, (‘a’, ‘b’))
查看最后一次執行的sql腳本:訪問Cursor的query屬性,這是一個只讀的屬性,可以返回上次執行的sql腳本。
總結
以上是生活随笔為你收集整理的psycopg2 mysql_使用psycopg2操作PostgreSQL数据库之二的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql keepalived主主同步
- 下一篇: python下载m3u8地址_pytho