Skip to content

Latest commit

 

History

History
93 lines (63 loc) · 2.14 KB

File metadata and controls

93 lines (63 loc) · 2.14 KB
Error in user YAML: (<unknown>): found a tab character that violate indentation while scanning a plain scalar at line 3 column 3
---
- oeasy Python 0514
- 这是 oeasy 系统化 Python 教程,从基础一步步讲,扎实、完整、不跳步。愿意花时间学,就能真正学会。
- 本教程同步发布在: 
	- 个人网站: `https://oeasy.org` 
	- 蓝桥云课: `https://www.lanqiao.cn/courses/3584` 
	- GitHub: `https://github.com/overmind1980/oeasy-python-tutorial` 
	- Gitee: `https://gitee.com/overmind1980/oeasypython` 
---

psycopg3

回忆

  • 上次使用了游标
  • 通过游标
    • 可以得到select查询的结果集
  • 这样我们就可以
    • 通过python语言
      • 直接操作postgres了

图片描述

  • psycopg还有什么好玩的吗🤔

单句执行

图片描述

  • 可以去试试

图片描述

  • 代码如下
import psycopg

conninfo = "postgres://postgres:oeasypg@localhost:5432/oeasydb"
print(psycopg.connect(conninfo).execute("SELECT now()").fetchone()[0])

运行结果

  • 最开始的时候会报错
    • 因为后台还没有将pg启动起来

图片描述

  • 稍微等待
    • 等pg 服务启动起来之后
      • 就可以 通过这种一句的方式
        • 进行连接了

图片描述

  • 可以从数据库里面查询到数据吗?

查询数据

import psycopg

conninfo = "postgres://postgres:oeasypg@localhost:5432/oeasydb"
print(psycopg.connect(conninfo).execute("SELECT * FROM test").fetchall())
  • 运行结果

图片描述

  • 确实一句话就能查询数据库中的记录

总结

  • 这次使用了psycopg3的一句话模式
import psycopg

conninfo = "postgres://postgres:oeasypg@localhost:5432/oeasydb"
print(psycopg.connect(conninfo).execute("SELECT * FROM test").fetchall())
  • 可以快速地执行sql语句
  • psycopg推荐怎样的编程方式呢?🤔
  • 下次再说!👋

  • 本文来自 oeasy Python 系统教程。
  • 想完整、扎实学 Python,
  • 搜索 oeasy 即可。