zoukankan      html  css  js  c++  java
  • 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)
    
  • 相关阅读:
    node express 上传文件
    [Java] 对象转型-01
    [Java] 类的Equals方法 (String, Data类都已经自动重写)
    editor does not contain a main type" 错误解决方
    Ubuntu网络连接图标消失解决方法
    [面试] 从尾到头打印链表-递归实现
    C++继承的例子 (1)
    国内访问gmail
    [python] 第7章 函数 第8章 模块
    Devcpp(Dev C++)使用说明及技巧
  • 原文地址:https://www.cnblogs.com/yyjjtt/p/11255044.html
Copyright © 2011-2022 走看看