赞
踩
Docker是一种开源容器化平台,它允许开发人员在轻松可移植的环境中构建、部署和运行应用程序。PostgreSQL是一种强大的关系型数据库,它是一种开源软件,提供了高可靠性、可扩展性和安全性。
在Docker中使用PostgreSQL,您可以通过Docker Hub上的PostgreSQL官方镜像来创建一个容器,然后在其中运行PostgreSQL服务。以下是在Docker中使用PostgreSQL的一些常见步骤:
请按照您的操作系统的指南安装Docker。安装完成后,您可以在终端中运行docker命令,验证Docker是否正确安装。
运行以下命令从Docker Hub上获取最新版本的PostgreSQL镜像:
docker pull postgres
运行以下命令以创建一个新的PostgreSQL容器。其中,-e 参数用于设置环境变量,-p 参数用于将容器端口映射到主机端口,-v 参数用于将主机目录挂载到容器内的目录。
docker run --name my-postgres -e POSTGRES_PASSWORD=mysecretpassword
-e ALLOW_IP_RANGE=0.0.0.0/0 -p 5432:5432 -v /my/local/path:/var/lib/postgresql/data -d postgres
在上面的命令中,my-postgres是容器的名称,POSTGRES_PASSWORD是PostgreSQL的管理员psd,-p 5432:5432将容器的5432端口映射到主机的5432端口,/my/local/path 是主机上的目录(可自行设置),将用于容器中的PostgreSQL数据。
现在,您可以使用以下命令进入正在运行的容器:
docker exec -it my-postgres psql -U postgres
这将打开一个交互式PostgreSQL shell,您可以在其中执行SQL命令。
这些是在Docker中使用PostgreSQL的一些基本步骤。您还可以使用其他Docker命令来管理容器,例如docker stop、docker start和docker rm等。
python连接postgresql数据库
postgresql是常用的关系型数据库,并且postgresql目前还保持着全部开源的状态,所以我们今天就一起来学习一下,如何用python连接postgresql。
安装psycopg
pip install psycopg2
官方文档地址:
https://www.psycopg.org/docs/cursor.html
连接数据库操作流程
若是增、删、更等操作,则操作流程为:
若是查询,则操作流程为:
查询结果和增删改其他操作步骤都一样,只有第四步的时候,有些许差别。
psycopg2.connect(dsn=None , connection_factory=None , cursor_factory=None , async=False , \*\*kwargs)
创建得到一个新的数据库会话并返回一个新的connection对象。
可以使用dsn参数将连接参数指定为libpq连接字符串:
conn = psycopg2.connect("dbname=test user=postgres password=secret")
或者用一组关键字参数:
conn = psycopg2.connect(dbname="test", user="postgres", password="secret")
或者两者混用,如果在两个源中指定了相同的参数名称,则关键字参数值将优先于dsn参数。
注意,需要dsn或至少一个与连接相关的关键字参数。
基本的连接参数:
示例:
conn = psycopg2.connect(database='test',user='postgres',password='123456',host='localhost',port='5432')
cursor ( name = None , cursor_factory = None , scrollable = None , withhold = False )
使用连接返回一个新cursor对象。
示例:
cursor = conn.cursor()
从上面cursor()后得到一个游标对象,该游标对象使用execute方法或者executemany方法执行sql语句。
cursor.execute(sql)
cursor.executemany(sql)
若是增加,删除,更改表中的数据,修改后必须提交才能生效。
conn.commit()
若是查询数据的时候,我们需要检索函数获取数据,常用的函数有fetchone(),fetchmany(),fetchall() 。
conn.close()
示例
# -*- coding: utf-8 -*- import psycopg2 ## 建立connect 连接 conn = psycopg2.connect(database='test',user='postgres',password='xxxxxx',host='localhost',port='5432') # 游标 cur = conn.cursor() # 执行sql # 建表 cur.execute('create table tname(id int,name varchar);') # 插入数据 cur.execute('insert into tname values (1,\'张三\');'); t_table=((2,'李四'),(3,'王五')) cur.executemany('insert into tname values (%s,%s)',t_table) # 提交数据 conn.commit() # 关闭连接 conn.close()
得到结果如下图:
import psycopg2 ## 建立connect 连接 conn = psycopg2.connect(database='test',user='postgres',password='xxxxxx',host='localhost',port='5432') # 游标 cur = conn.cursor() # 执行sql cur.execute('select * from tname;') # 获取数据 rows = cur.fetchall() for row in rows: print(row) # 关闭连接 conn.close()
得到结果如下图:
好啦,本文到这里就结束啦。
感谢您的阅读~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。