博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python操作数据库PostgreSQL
阅读量:6218 次
发布时间:2019-06-21

本文共 1890 字,大约阅读时间需要 6 分钟。

   

1.简述  

  python可以操作多种数据库,诸如SQLite、MySql、PostgreSQL等,这里不对所有的数据库操作方法进行赘述,只针对目前项目中用到的PostgreSQL做一下简单介绍,主要包括python操作数据库插件的选择、安装、简单使用方法、测试连接数据库成功。

2.数据库操作插件的选择

  PostgreSQL至少有三个python接口程序可以实现访问,包括PsyCopg、PyPgSQL、PyGreSQL(PoPy已经整合在PyGreSQL中),三个接口程序各有利弊,需要根据实践选择最适合项目的方式。

  推荐使用PsyCopg,对python开发框架的兼容性都很好,本文中我们只讨论这个插件。

3.PsyCopg的下载

  官网下载psycopg2-2.5.1.tar.gz:

  本文使用windows系统开发,未使用官网版本,选择psycopg2-2.4.2.win-amd64-py2.7-pg9.0.4-release.exe版,地址:

4.PsyCopg的安装

  直接exe,根据提示安装即可.

 

------------------------------------------------

  博主经营一家发饰淘宝店,都是纯手工制作哦,开业冲钻,只为信誉!需要的亲们可以光顾一下!谢谢大家的支持!

店名:
  
经营:
  发饰、头花、发夹、耳环等(手工制作)
网店:
  

  ---------------------------------------------------------------------

继续正题... 

  

5.PsyCopg的使用

  py文件代码:  

__author__ = 'qiongmiaoer'import psycopg2# 数据库连接参数conn = psycopg2.connect(database="platoon", user="postgres", password="postgres", host="192.168.10.80", port="5432")cur = conn.cursor()cur.execute("CREATE TABLE test(id serial PRIMARY KEY, num integer,data varchar);")# insert one itemcur.execute("INSERT INTO test(num, data)VALUES(%s, %s)", (1, 'aaa'))cur.execute("INSERT INTO test(num, data)VALUES(%s, %s)", (2, 'bbb'))cur.execute("INSERT INTO test(num, data)VALUES(%s, %s)", (3, 'ccc'))cur.execute("SELECT * FROM test;")rows = cur.fetchall()        # all rows in tableprint(rows)for i in rows:    print(i)conn.commit()cur.close()conn.close()

  可参考psycopg官方文档,介绍postgresql的使用

  

6. 输出结果 

"C:\Program Files (x86)\Python275\python.exe" E:/PycharmProjects/psycopgPyCharm/xiaoyu/temp.py[(1, 1, 'aaa'), (2, 2, 'bbb'), (3, 3, 'ccc')](1, 1, 'aaa')(2, 2, 'bbb')(3, 3, 'ccc')Process finished with exit code 0

7.分析

  在插件psyCopg安装后,在python命令下import psycopg2,即可使用psycopg2中的方法对数据库,根据测试结果的输出可以看到我们成功地连接到了数据库,创建了名为test的table,添加了三条数据,并成功读取和输出数据,最后将查询到的数据输出print出来。

ps:

  项目环境

    windows8

    python2.7.5

    pyCharm2.7.3(开发环境)

    psycopg2-2.4.2(插件)

    

店名:

  
经营:
  发饰、头花、发夹、耳环等(手工制作)
网店:
  

 

转载地址:http://fzoja.baihongyu.com/

你可能感兴趣的文章
nodejs使用fetch获取WebAPI
查看>>
Linux 常用命令记录
查看>>
线性代数与矩阵论 习题 1.2.2
查看>>
1. Two Sum
查看>>
portal单点登录的原理与实现还有ESB
查看>>
当页面加载完成时,JQ触发添加页面的元素的事件触发不了。。
查看>>
索尼Sony ATI显卡驱动 Win7 Win8 Win8.1 视频黑屏 解决方法
查看>>
中介者模式(Mediator Pattern)
查看>>
vim 简单笔记
查看>>
js功能实现top轮播图
查看>>
IOS系列swift语言之课时四
查看>>
Luogu P3935 Calculating
查看>>
passive的作用和原理
查看>>
projecteuler Summation of primes
查看>>
2018百度之星资格赛A B F
查看>>
App 卸载记录
查看>>
Chisel3 - util - BitPat
查看>>
多线程
查看>>
【题解】【BT】【Leetcode】Populating Next Right Pointers in Each Node
查看>>
python 判断101-200之间有多少个素数,并输出所有素数。
查看>>