PostgreSQL是开源的关系型数据库,常用在基于Python的web应用中。Psycopg2是PostgreSQL-Python数据库驱动,方便使用Python操作PostgreSQL数据库。
本文关注:
1.在Ubuntu 16.04上安装PostgreSQL
2.安装psycopg2
3.使用Python执行几个基本的SQL语句
1、安装PostgreSQL
$ sudo apt install postgresql libpq-dev postgresql-client postgresql-client-common
启动、停止重启postgresql:
$ sudo systemctl start postgresql
$ sudo systemctl stop postgresql
$ sudo systemctl restart postgresql
现在PostgreSQL已安装完成并在后台运行,首先创建一个用户和数据库。
切换到postgres用户:
$ sudo -i -u postgres
创建数据库用户(和当前登录的Ubuntu用户名一样):
$ createuser snail -P --interactive
退出postgres用户:
$ exit
创建一个数据库:
$ createdb pythontest
测试;使用psql和数据库交互:
$ psql
更多命令查看帮助”help”;或psql文档: http://www.postgresql.org/docs/9.6/static/app-psql.html
2、安装psycopg2
为了保持开发环境的整洁,我将使用virtualenv;python使用python3。
安装pip:
$ sudo apt install python3-pip
安装virtualenv:
$ sudo pip3 install virtualenv
查看Python3可执行文件所在路径:
$ which python3
在任意位置创建virtualenv环境:
$ virtualenv --python=/usr/bin/python3 ~/.envpostsql
激活创建的virtualenv:
$ source ~/.envpostsql/bin/activate
安装psycopg2:
$ pip3 install psycopg2
3、在Python中使用PostgreSQL
创建文件test.py:
import psycopg2
try:
connect_info = "dbname='pythontest' user='snail' host='localhost' " + \
"password='test1234'"
# 创建连接
conn = psycopg2.connect(connect_info)
# 创建一个psycopg2 cursor,用来执行SQL
cursor = conn.cursor()
# 创建一个表
cursor.execute("""CREATE TABLE usertable (name char(40));""")
# 查询语句
cursor.execute("""SELECT * from usertable""")
rows = cursor.fetchall()
print(rows)
except Exception as e:
print("不能建立连接,用户或密码错误")
print(e)
执行:
$ python test.py
上面的例子只是一个开始,更复杂的sql语句请查看文档。