psycopg2簡單插入和查詢(直接查找為dataframe)


導入與創建連接

import psycopg2
conn = psycopg2.connect(database='dbschool', user='postgres', password='admin', host='127.0.0.1', port='5432')
cur = conn.cursor()

connection

主要方法

connection提供了常用的數據庫操作:
commit():提交任何未提交的事務(transaction)到數據庫。
rollback():回滾。
close():關閉數據庫。如果關閉數據庫時仍有未提交的事務,則執行回滾操作。

cursor

主要方法

  • execute(query, vars=None):執行SQL語句。
  • fetchall():獲取所有查詢結果,返回值為tuple列表。

插入數據

#單條插入
cur.execute("INSERT INTO Employee VALUES('Gopher', 'China Beijing', 100, '2017-05-27')")
#批量插入
placeholders = ', '.join(['%s'] * df.shape[1])
columns_str = ', '.join(columns)
sql = "insert into {}({})values ({})".format('ceexam', columns_str, placeholders)
cur.executemany(sql,df.values)

注:

批量插入支持格式:字典,python數組,numpy數組

查詢數據

普通

cur.execute("SELECT * FROM Employee")
rows = cur.fetchall()
for row in rows:
    print('name=' + str(row[0]) + ' address=' + str(row[1]) +
        ' age=' + str(row[2]) + ' date=' + str(row[3]))

主要使用pd分析,直接導出為dataframe格式

conn = psycopg2.connect(database='dbschool', user='postgres', password='admin', host='127.0.0.1', port='5432')
sql_getall='select * from ceexam'
df=pd.read_sql(sql=sql_getall,con=conn)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM