转载自:http://zhiwei.li/text/2012/02/05/psycopg2接口的基本用法/

与其他实现了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’;”

psycopg2接口的基本用法的更多相关文章

  1. Comparable接口和Comparator接口的不同用法

    两者都可用来在定义比较方法,然后用在排序中. Comparable是类本身继承的接口 Comparator实在类外定义一个排序的类 比较而言,觉得Comparator更灵活一些,但是Comparabl ...

  2. 接口IDisposable的用法

    C#的每一个类型都代表一种资源,而资源又分为两类: 托管资源  由CLR管理分配和释放的资源,即从CLR里new出来的对象. 非托管资源  不受CLR管理的对象,如Windows内核对象,或者文件.数 ...

  3. [原创]Java中使用File类的list方法获取一定数量的文件:FilenameFilter接口的特殊用法

    前言:有时候我们可能会遇到这样一个问题:需要遍历一个包含极多文件的文件夹,首先想到的肯定是使用File.list()方法,该方法返回一个String[],但是如果文件达到几亿呢?这个时候我们就需要分批 ...

  4. Java中Comparable接口和Comparator接口的简单用法

    对象比较器 1.Comparable接口 此接口强行对实现它的每个类的对象进行整体排序,这种排序成为类的自然排序,类的compareTo方法称为类的自然比较方法. 代码示例 import java.u ...

  5. Java EE开发平台随手记5——Mybatis动态代理接口方式的原生用法

    为了说明后续的Mybatis扩展,插播一篇广告,先来简要说明一下Mybatis的一种原生用法,不过先声明:下面说的只是Mybatis的其中一种用法,如需要更深入了解Mybatis,请参考官方文档,或者 ...

  6. Mybateis mapper 接口 example 用法

    注意:希望通过此篇文章分享 可以使大家对mapper接口以及example 用法更加深入理解 MyBatis的Mapper接口以及Example的实例函数及详解 一.mapper接口中的方法解析 ma ...

  7. 从接口、抽象类到工厂模式再到JVM来总结一些问题

    俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习! 涉及到的知识点总结如下: 为什么使用接口? 接口和抽象类的区别 简单工厂模式总结 Java中new和newInstance的区别 J ...

  8. java interface的两个经典用法

    1.Java多态接口动态加载实例 编写一个通用程序,用来计算没一种交通工具运行1000公里所需的时间,已知每种交通工具的参数都为3个整数A.B.C的表达式.现有两种工具:Car和Plane,其中Car ...

  9. Function.prototype.bind接口浅析

    本文大部分内容翻译自 MDN内容, 翻译内容经过自己的理解. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Glo ...

随机推荐

  1. python 正则表达式 学习笔记(不断补充ing)

    本文参考了以下博客,感谢众位大神的分享! http://www.oschina.net/question/12_9507 和 http://www.crifan.com/python_re_sub_d ...

  2. Walking Ant(bfs)

    Walking Ant Time Limit: 2 Seconds      Memory Limit: 65536 KB Ants are quite diligent. They sometime ...

  3. ListView分割线

    在开发中遇到需要ListView 中每一个条目后面都有个分隔线,但是总是发现最后一个条目后面没有分隔符,后来查到原因,是因为ListView的layout_height=“wrap_content” ...

  4. linux 自旋锁

    一.概述: 自旋锁是SMP架构中的一种low-level的同步机制.当线程A想要获取一把自旋锁而该锁又被其它线程锁持有时,线程A会在一个循环中自旋以检测锁是不是已经可用了.对于自选锁需要注意: 由于自 ...

  5. 简单C#文字转语音

    跟着微软走妥妥的,C#文字转语音有很多参数我就不说了,毕竟我也是初学者.跟大家分享最简单的方法,要好的效果得自己琢磨喽: 先添加引用System.Speech程序集: using System; us ...

  6. UnicodeEncodeError: 'latin-1' codec can't encode character 解决sae flask 中文问题

    #encoding=utf-8 #中文编码支持 import MySQLdb from flask import Flask, g, request app = Flask(__name__) app ...

  7. GWT工程 —— HostedMode(宿主模式下调试) 所有的运行命令

    Unknown argument: -helpGoogle Web Toolkit 1.7.0HostedMode [-noserver] [-port port-number | "aut ...

  8. T4模板之基础篇

    一.回顾 上一篇文章 ——T4模板之菜菜鸟篇,我们囫囵吞枣的创建了与“T4模板”有关的文件.在创建各个文件的这一个过程中,我们对于T4模板有了那么丁点的认识.现在就带着之前的那些问题,正式的迈入对“T ...

  9. WCF契约之---服务契约 、数据契约、 消息契约

    本篇博文只是简单说下WCF中的契约的种类.作用以及一些简单的代码示例.在WCF中契约分为服务契约.数据契约和消息契约.下面对这几种契约进行简单的介绍. 服务契约 服务契约描述了暴露给外部的类型(接口或 ...

  10. STL模板_十大容器概念

    一.向量(续)1.大小和容量大小:容器中元素的个数.容量:容器中可容纳元素的个数.size_type size (void) const; // 获取大小void resize (size_type ...