连接postgresql数据库
pip install psycopg2## 导入psycopg2包
import psycopg2
## 连接到一个给定的数据库
conn = psycopg2.connect(database="postgres", user="postgres",
password="postgres", host="127.0.0.1", port="23333")
## 建立游标,用来执行数据库操作
cursor = conn.cursor()## 执行SQL命令
cursor.execute("DROP TABLE test_conn")
cursor.execute("CREATE TABLE test_conn(id int, name text)")
cursor.execute("INSERT INTO test_conn values(1,'haha')")## 提交SQL命令
conn.commit()## 执行SQL SELECT命令
cursor.execute("select * from test_conn")## 获取SELECT返回的元组
rows = cursor.fetchall()
for row in rows:
print 'id = ',row[0], 'name = ', row[1], '\n'## 关闭游标
cursor.close()## 关闭数据库连接
conn.close()参数化查询
#list参数化查询
#sql = "select * from pg_tables where schemaname=%s and tablename=%s"
#csor.execute(sql, ['internal_app_bsaata', 'event_ip_real'])
#dict参数化查询
sql = "select * from pg_tables where schemaname=%(db_name)s and tablename=%(tb_name)s"
csor.execute(sql, {'db_name':'internal_app_bsaata', 'tb_name':'event_ip_real'})##多条数据处理
namedict = ({"first_name":"Joshua", "last_name":"Drake"},
{"first_name":"Steven", "last_name":"Foo"},
{"first_name":"David", "last_name":"Bar"})
cur = conn.cursor()
cur.executemany("""INSERT INTO bar(first_name,last_name) VALUES (%(first_name)s, %(last_name)s)""", namedict)注意:sql执行失败后,需要回滚才能继续执行后面的sql
try:
## 执行SQL命令
dbconn.cursor.execute(sql)
## 提交SQL命令
dbconn.conn.commit()
except Exception as e:
dbconn.conn.rollback()
logging.exception(e) # 方式2 -----------自己写的dbhelper.py
# coding:utf-8
import logging
import psycopg2
def dbconn(config):
dbconn.conn = psycopg2.connect(database=config["database"], user=config["user"],
password=config["password"], host=config["host"],
port=config["port"])
## 建立游标,用来执行数据库操作
dbconn.cursor = dbconn.conn.cursor()
def exec_sql(sql):
#print sql
try:
## 执行SQL命令
dbconn.cursor.execute(sql)
## 提交SQL命令
dbconn.conn.commit()
except Exception as e:
dbconn.conn.rollback()
logging.exception(e) # 方式2
def exec_sql_muti(sql,params):
#print sql
try:
## 执行SQL命令
dbconn.cursor.executemany(sql,params)
## 提交SQL命令
dbconn.conn.commit()
except Exception as e:
dbconn.conn.rollback()
logging.exception(e) # 方式2
def query(sql):
print sql
dbconn.cursor.execute(sql);
return dbconn.cursor
def dbclose():
dbconn.cursor.close()
dbconn.conn.close()python连接postgresql数据库
原创
©著作权归作者所有:来自51CTO博客作者草宝虫啊的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Python连接postgresql数据库入门
关于Python及pycharm的安装参考:1. python+pycharm 安装及测试_Hehuyi_In的博5/21 23:20#.
postgresql 数据库 python PostgreSQL Python -
【数据库系列】PostgreSQL 数据库连接
???欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以
服务器 运维 PostgreSQL 数据库 sql -
Sanic 连接postgresql数据库
Python Sanic Jinga2 Peewee_async模块组合Web开发
sanic Jinja2 peewee_ -
线性代数和数据挖掘(三):Matplotlib库和数据可视化
Matplotlib库和数据可视化
#线性代数 #数据挖掘 #matplotlib 子图 数据
















