Python 使用 psycopg2 模块连接和操作 PostgreSQL 数据库
5星 · 超过95%的资源 153 浏览量
更新于2024-08-29
收藏 58KB PDF 举报
"Python 操作 PostgreSQL 数据库示例连接、增删改查等"
Python 操作 PostgreSQL 数据库是一种常见的数据库操作方式。PostgreSQL 是一个功能强大且稳定的开源关系数据库管理系统,psycopg2 是一个 Python 模块,用于连接 PostgreSQL 数据库。
连接数据库
要连接 PostgreSQL 数据库,需要使用 psycopg2 模块。首先,需要安装 psycopg2 模块,可以使用 pip 安装:
`pip3 install python-psycopg2`
`pip3 install psycopg2-binary`
然后,使用以下 Python 代码连接到数据库:
```python
import psycopg2
conn = psycopg2.connect(database="testdb", user="postgres", password="pass123", host="127.0.0.1", port="5432")
print("Opened database successfully")
```
这段代码将连接到名为 "testdb" 的数据库,用户名为 "postgres",密码为 "pass123",主机为 "127.0.0.1",端口为 "5432"。
创建表
创建表是数据库操作的基本操作。以下 Python 代码将创建一个名为 "COMPANY" 的表:
```python
import psycopg2
conn = psycopg2.connect(database="testdb", user="postgres", password="pass123", host="127.0.0.1", port="5432")
print("Opened database successfully")
cur = conn.cursor()
cur.execute('''CREATE TABLE COMPANY
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL);''')
print("Table created successfully")
conn.commit()
```
这段代码将创建一个名为 "COMPANY" 的表,包含五个字段:ID、NAME、AGE、ADDRESS 和 SALARY。
增删改查
除了连接数据库和创建表外,Python 还可以对数据库进行增删改查操作。
插入数据
```python
cur.execute("INSERT INTO COMPANY (ID, NAME, AGE, ADDRESS, SALARY) VALUES (1, 'John', 25, 'California', 5000.0)")
conn.commit()
```
这段代码将插入一条数据到 "COMPANY" 表。
删除数据
```python
cur.execute("DELETE FROM COMPANY WHERE ID=1")
conn.commit()
```
这段代码将删除 "COMPANY" 表中 ID 为 1 的数据。
更新数据
```python
cur.execute("UPDATE COMPANY SET SALARY=6000.0 WHERE ID=1")
conn.commit()
```
这段代码将更新 "COMPANY" 表中 ID 为 1 的数据的 SALARY 字段。
查询数据
```python
cur.execute("SELECT * FROM COMPANY WHERE ID=1")
rows = cur.fetchall()
for row in rows:
print(row)
```
这段代码将查询 "COMPANY" 表中 ID 为 1 的数据,并将结果打印出来。
Python 操作 PostgreSQL 数据库可以实现各种数据库操作,包括连接数据库、创建表、增删改查等。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2023-03-02 上传
2020-09-21 上传
2023-04-29 上传
2023-06-08 上传
2024-10-05 上传
2024-10-19 上传
weixin_38658471
- 粉丝: 4
- 资源: 944
最新资源
- JavaScript实现的高效pomodoro时钟教程
- CMake 3.25.3版本发布:程序员必备构建工具
- 直流无刷电机控制技术项目源码集合
- Ak Kamal电子安全客户端加载器-CRX插件介绍
- 揭露流氓软件:月息背后的秘密
- 京东自动抢购茅台脚本指南:如何设置eid与fp参数
- 动态格式化Matlab轴刻度标签 - ticklabelformat实用教程
- DSTUHack2021后端接口与Go语言实现解析
- CMake 3.25.2版本Linux软件包发布
- Node.js网络数据抓取技术深入解析
- QRSorteios-crx扩展:优化税务文件扫描流程
- 掌握JavaScript中的算法技巧
- Rails+React打造MF员工租房解决方案
- Utsanjan:自学成才的UI/UX设计师与技术博客作者
- CMake 3.25.2版本发布,支持Windows x86_64架构
- AR_RENTAL平台:HTML技术在增强现实领域的应用