import psycopg2
1、下面是連接數據庫,進行查詢的步驟
#連接一個給定的數據庫
conn = psycopg2.connect(database="數據庫名", user="連接數據庫的用戶名", password="用戶名對應的密碼", host="ip地址", port="端口號")
#建立游標,用來執行數據庫操作
cursor = conn.cursor()
#執行SQL命令
cursor.execute("sql語句")
#提交sql命令
conn.commit()
# fetchone() :返回單個的元組,也就是一條記錄(row),如果沒有結果 則返回 None
# fetchall() : 返回多個元組,即返回多個記錄(rows),以列表套元組的形式,如果沒有結果 則返回 ()
# 獲取前n行數據 row_2 = cursor.fetchmany(3) 獲取前三行數據,元組包含元組
# 需要注明:在MySQL中是NULL,而在Python中則是None
rows = cursor.fetchone()
print(rows)
rows = cursor.fetchall()
print(rows)
2、對連接數據庫的查詢進行封裝方便調用
class Select_sql:
def __init__(self,database, user, password, host, port):
self.conn=psycopg2.connect(database=database, user=user, password=password,
host=host, port=port)
self.cursor = self.conn.cursor()
# 返回單條記錄,以元組的形式
def select_one(self,sql):
self.cursor.execute(sql)
self.conn.commit()
row = self.cursor.fetchone()
return row
# 返回多條記錄,以列表套元組的形式
def select_all(self,sql):
self.cursor.execute(sql)
self.conn.commit()
rows = self.cursor.fetchall()
return rows
def close(self):
#關閉游標
self.cursor.close()
#關閉數據庫連接
self.conn.close()
3、下面是fetchone(),只返回了一條結果,是元組

4、下面是fetchall(),返回了列表套元組
