python连接pg数据库并新增数据至表
时间: 2024-09-25 13:06:05 浏览: 35
在Python中,你可以使用`psycopg2`库来连接PostgreSQL(PG)数据库并插入新数据到表中。以下是基本步骤:
首先,你需要安装`psycopg2`,如果尚未安装,可以使用pip命令:
```bash
pip install psycopg2-binary
```
然后,你可以使用以下代码示例连接到数据库、创建游标,以及插入新的记录:
```python
import psycopg2
# 数据库连接信息
db_name = "your_database_name"
db_user = "your_username"
db_password = "your_password"
db_host = "localhost" # 或者你的服务器地址
db_port = "5432" # 默认端口
# 连接数据库
try:
conn = psycopg2.connect(
dbname=db_name,
user=db_user,
password=db_password,
host=db_host,
port=db_port
)
except psycopg2.Error as e:
print("Error while connecting to PostgreSQL:", str(e))
# 创建游标对象
cur = conn.cursor()
# 假设你要插入的数据是一个字典,例如用户信息
new_data = {
'name': 'John Doe',
'email': 'john.doe@example.com',
'age': 30
}
# 定义SQL插入语句
insert_query = """
INSERT INTO your_table_name (name, email, age)
VALUES (%s, %s, %s);
"""
# 准备值
values = (new_data['name'], new_data['email'], new_data['age'])
# 执行插入操作
try:
cur.execute(insert_query, values)
conn.commit() # 提交事务
print(f"Data inserted successfully: {new_data}")
except psycopg2.Error as e:
print("Error occurred during insertion:", str(e))
finally:
# 关闭游标和连接
if cur:
cur.close()
if conn:
conn.close()
```
记得将上述代码中的`your_database_name`、`your_username`、`your_password`、`your_table_name`替换为你实际的数据库名称、用户名、密码和表名。
阅读全文