psycopg连接postgresql数据库

安装psycopg:

pip install psycopg[binary]

连接数据库,创建表,插入数据:

import psycopg
conninfo = "postgres://postgres:root@localhost:5432/oeasydb"
with psycopg.connect(conninfo) as conn:
    print("connect!")
    conn.execute("""
        CREATE TABLE IF NOT EXISTS test(
            id serial PRIMARY KEY,
            num integer,
            data text);
    """)
    print("Table test is created!")
    conn.execute(
        "INSERT INTO test(num, data) VALUES (%s, %s)",
        (100, "abc")
    )
    print("Data is inserted!")
    conn.commit()

查询:

import psycopg
conninfo = "postgres://postgres:root@localhost:5432/oeasydb"
with psycopg.connect(conninfo) as conn:
    print("connect!")
    with conn.cursor() as cur:
        cur.execute("SELECT * FROM test;")
        for record in cur.fetchall():
            print(record)

一句话查询:

import psycopg

conninfo = "postgres://postgres:root@localhost:5432/oeasydb"
print(psycopg.connect(conninfo).execute("SELECT * FROM test").fetchall())

传参:

import psycopg
conninfo = "postgres://postgres:root@localhost:5432/oeasydb"
with psycopg.connect(conninfo) as conn:
    with conn.cursor() as cur:
        t = ("2","abc")
        sql = "SELECT * FROM test WHERE id=%s AND data=%s;"
        print(sql)
        cur.execute(sql, t)
        for record in cur.fetchall():
            print(record)
        cur.close()
        conn.close()
import psycopg
conninfo = "postgres://postgres:root@localhost:5432/oeasydb"
with psycopg.connect(conninfo) as conn:
    sql = "INSERT INTO test(num, data) VALUES (%(num)s, %(data)s);"
    print(sql)
    d = {
        'num': 100,
        'data': 'oeasy'
    }
    conn.execute(sql, d)
    conn.commit()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值