博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于psycopg
阅读量:2435 次
发布时间:2019-05-10

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

一、基本概念

psycopg,是语言的

二、psycopg2接口的基本用法示例

原文:http://zhiwei.li/text/2012/02/05/psycopg2%E6%8E%A5%E5%8F%A3%E7%9A%84%E5%9F%BA%E6%9C%AC%E7%94%A8%E6%B3%95/

与其他实现了DB API 2.0协议的其他数据库用户基本一致。

import psycopg2

##连接到一个存在的数据库

conn = psycopg2.connect(“dbname=test user=postgres”)
##connect()建立一个新的数据库会话,并返回一个connect实例

##打开一个光标,用来执行数据库操作

cur = conn.cursor()

##执行命令:建立一个新表

cur.execute(“CREATE TABLE test (id serial PRIMARY KEY, num integer, data varchar);”)

##传递数据用来填充查询占位符, 让Psycopg执行正确的转换(不再有SQL注入)

cur.execute(“INSERT INTO test (num, data) VALUES (%s, %s)”,

… (100, “abc’def”))

##查询数据库,取得数据作为python对象

cur.execute(“SELECT * FROM test;”)

cur.fetchone()
(1, 100, “abc’def”)

##使改变永久存入数据库

conn.commit()

##关闭到数据库的通信

cur.close()

conn.close()

python数据类型到SQL类型的适配

日期和时间对象: python内建的datetime, date, time, timedelta 被转换成 PostgreSQL的 timestamp, date, time, interval 数据类型. Time zones are supported too. The Egenix mx.DateTime objects are adapted the same way:

 

>>> dt = datetime.datetime.now()

>>> dt datetime.datetime(2010, 2, 8, 1, 40, 27, 425337)

>>> cur.mogrify(“SELECT %s, %s, %s;”, (dt, dt.date(), dt.time())) “SELECT ‘2010-02-08T01:40:27.425337’, ‘2010-02-08′, ’01:40:27.425337′;”

>>> cur.mogrify(“SELECT %s;”, (dt – datetime.datetime(2010,1,1),)) “SELECT ’38 days 6027.425337 seconds’;”

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

你可能感兴趣的文章
不用重装 轻松解决Windows系统棘手问题(转)
查看>>
对移动通信网络优化工作的一些见解(转)
查看>>
正确网络配置建议 减少卡机死机的关键(转)
查看>>
智能手机Smartphone开发从零起步(五)(转)
查看>>
SEO技巧中你可能没有注意的细节(转)
查看>>
微软开始二代Windows Live 不见Cloud OS踪影
查看>>
创建ISAPI扩展(转)
查看>>
病毒及木马预警一周播报(06.04.17~04.23)(转)
查看>>
黑客口述:我的第一台3389肉鸡的经历(转)
查看>>
关于 cleanup stack 和 two phase consturction [1](转)
查看>>
Oracle数据导入导出imp/exp (转)
查看>>
如何构建固定网(PSTN)短消息系统(转)
查看>>
Delphi文件管理(三)(转)
查看>>
关于网线的一些问题的解答(转)
查看>>
深度分析Win 2003自动升级补丁功能(转)
查看>>
使用Carbide.vs与VS.NET2003构建Symbian开发平台-S60 平台(转)
查看>>
来访者地址统计,很好的一个程序!(转)
查看>>
UpdateWindow函数 (转)
查看>>
移动通信的主要测量指标及注意事项(转)
查看>>
无盘网络正确网络配置建议-减少卡机蓝屏关键(转)
查看>>