首页 > 数据库 >Python数据库操作—— PostgreSQL

Python数据库操作—— PostgreSQL

时间:2023-03-24 16:57:43浏览次数:34  
标签:PostgreSQL psycopg2 Python 创建 数据库 db cursor sql

使用pip3安装psycopg2

pip install psycopg2

 

增删改查(CRUD)
新建数据库
PostgreSQL不支持"SHOW DATABASES"语句,需要使用"SELECT * FROM PG_DATABASE;"进行查询,才能获取当前数据库列表,由于这里只需要做创建数据库前后的对比,所以只获取数据库名字段,即dtname。该程序创建的数据库为root用户所有。

创建数据库的时候,为避免出错,需要将数据库连接切换到自动提交模式。

import psycopg2
 
 
# 打印数据函数
def ShowData(str, data):
    arr = []
    for item in data:
        arr.append(item)
    print(str, arr)
 
 
# 打开数据库连接
db = psycopg2.connect(host='localhost',
                      port='5432',
                      user='root',
                      password='123456')
 
# 设置数据库连接打开自动提交模式
db.autocommit = True
 
# 创建游标对象
cursor = db.cursor()
 
# 查看现有数据库
sql = 'SELECT DATNAME FROM PG_DATABASE;'
cursor.execute(sql)
ShowData("现有数据库:", cursor.fetchall())
 
# 创建test数据库
sql = 'CREATE DATABASE "test";'
cursor.execute(sql)
 
# 查看新数据库创建完成后的数据库列表
sql = 'SELECT DATNAME FROM PG_DATABASE;'
cursor.execute(sql)
ShowData("创建完成后的数据库:", cursor.fetchall())
 
# 释放游标及数据库连接
cursor.close()
db.close()

  

运行结果如下,可以看到数据库被成功创建: 

   

标签:PostgreSQL,psycopg2,Python,创建,数据库,db,cursor,sql
From: https://www.cnblogs.com/xujunhui/p/17252635.html

相关文章

  • Centos 7 - 第一次登陆 Mysql 数据库 修改密码问题 ERROR 1045 (28000) - 临时生效方
    这里第一次安装mysql容易出现报错:ERROR1045(28000):Accessdeniedforuser'root'@'localhost'(usingpasswor解决方法如下:1.修改mysql的初始密码(有两种方法)1.1......
  • Python 自动识别并批量转换文本文件编码
    如题,很简单,就是先用chardet库识别文件编码,解码之后再输出成目标编码。算是个偶尔能用上的小工具,要用的时候万一没有就很难受的那种,比如,网上下载了别人的项目文件,一打开全......
  • mycat配置数据库集群
    mycat配置数据库集群 所有的集群配置,都必须配置多主多从模式,即多个master节点相互之间配置主从,如,master1和slave1为第一组主从,master2和slave2为第二组主从,master1和m......
  • 选择KV数据库最重要的是什么
    本文分享自华为云社区《选择KV数据库最重要的是什么?》,作者:GaussDB数据库。经常有客户提到KV数据库,但却偏偏“不要Redis”。比如有个做安全威胁分析平台的客户,他们明确表示......
  • python gevnt实现协程
    gevent也是第三方库,自行调度协程,自动试别程序的耗时操作。比如读文件,等待时间。代码举了个栗子fromgeventimportmonkeymonkey.patch_all()importtimeimportgev......
  • Python 离线环境
    一、应用场景比如:对于数据安全要求比较严格的机房,服务器是不允许上网的。那么我现在开发了一套python程序,需要一些模块,怎么运行? 二、离线包制作有2个解决方案:1.使用......
  • ChatGPT4 给出数据库开发者最容易犯的 10 个错误和解决方案
    近期ChatGPT4发布,作为数据库领域的开发者,也是10年老DBA,也是迫不及待体验了一把。ChatGPT4目前是付费使用,使用次数也有限制,门槛更高,API调用费用是ChatGPT3.5的15......
  • HBase Java API操作数据库
    场景在上面将开发环境搭建起来,要想操作操作数据库除了使用HBaseShell还可以使用JAVAAPI对HBase进行操作。注:关注公众号霸道的程序猿获取编程相关电子书、教程推送与免费......
  • ChatGPT4 给出数据库开发者最容易犯的 10 个错误和解决方案
    近期ChatGPT4发布,作为数据库领域的开发者,也是10年老DBA,也是迫不及待体验了一把。 ChatGPT4目前是付费使用,使用次数也有限制,门槛更高,API调用费用是ChatGPT3.5......
  • 选择KV数据库最重要的是什么
    本文分享自华为云社区《选择KV数据库最重要的是什么?》,作者:GaussDB数据库。经常有客户提到KV数据库,但却偏偏“不要Redis”。比如有个做安全威胁分析平台的客户,他们明确表......