gpt4 book ai didi

python - 使用psycopg2动态更改python中的数据库(postgresql)

转载 作者:太空狗 更新时间:2023-10-30 00:36:45 24 4
gpt4 key购买 nike

谁能告诉我如何动态更改我刚才创建的数据库......使用以下代码...我想在这段代码的执行过程中,我将使用默认的 postgres 数据库(模板数据库),在创建新数据库后,我想在运行时更改我的数据库以进行进一步处理......

    from psycopg2 import connect
from psycopg2.extensions import ISOLATION_LEVEL_AUTOCOMMIT

dbname = 'db_name'
con = connect(user ='postgres', host = 'localhost', password = '*****')
con.set_isolation_level(ISOLATION_LEVEL_AUTOCOMMIT)
cur = con.cursor()
cur.execute('CREATE DATABASE ' + dbname)
cur.close()
con.close()

最佳答案

您可以简单地使用database=dbname 参数再次连接。请注意 SELECT current_database() 的用法以显示我们在哪个数据库上工作,以及 SELECT * FROM pg_database 以显示可用的数据库:

from psycopg2 import connect
from psycopg2.extensions import ISOLATION_LEVEL_AUTOCOMMIT

def show_query(title, qry):
print('%s' % (title))
cur.execute(qry)
for row in cur.fetchall():
print(row)
print('')

dbname = 'db_name'
print('connecting to default database ...')
con = connect(user ='postgres', host = 'localhost', password = '*****', port=5492)
con.set_isolation_level(ISOLATION_LEVEL_AUTOCOMMIT)
cur = con.cursor()
show_query('current database', 'SELECT current_database()')
cur.execute('CREATE DATABASE ' + dbname)
show_query('available databases', 'SELECT * FROM pg_database')
cur.close()
con.close()

print('connecting to %s ...' % (dbname))
con = connect(user ='postgres', database=dbname, host = 'localhost', password = '*****', port=5492)
cur = con.cursor()
show_query('current database', 'SELECT current_database()')
cur.close()
con.close()

关于python - 使用psycopg2动态更改python中的数据库(postgresql),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13719674/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com