psycopg2接口的基本用法

转载自: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’;”
时间: 2024-10-20 18:26:02

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

TCP/UDP的一些收发接口的特殊用法

1.UDP使用connect函数和不使用connect函数的区别 * 不能再使用sendto/recvfrom,而只能使用write/read或send/recv,也就是说不能在收发数据时才指定目的IP * 已连接的UDP引发的异步错误会返回给所在的进程,而未连接的UDP不会接收异步错误 * 已连接的UDP具有较高的收发效率.因为未连接的UDP在收发数据时,需要先执行连接过程,数据收发完成后,再解除连接 * UDP可以多次调用connect,目的:指定新的IP地址和端口或者也可以是断开连接 2.

接口的常用用法都有什么?策略设计模式复习总结

从之前的一个总结性话题引出: 从接口.抽象类到工厂模式再到JVM来总结一些问题 涉及的知识点总结如下: 策略模式概念和例子 工厂模式和策略模式比较 策略模式优缺点 策略模式的意义 使用了策略模式的API——HttpServlet类分析 解决策略膨胀问题——享元模式 StrategyPattern:策略模式也算比较简单的,同工厂模式一样都属于面向接口编程……策略模式是对象的行为模式之一,而工厂模式是对象的创建模式!它对一系列的算法加以封装,为所有算法定义一个抽象的算法接口,并通过继承该抽象算法接口

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

两者都可用来在定义比较方法,然后用在排序中. Comparable是类本身继承的接口 Comparator实在类外定义一个排序的类 比较而言,觉得Comparator更灵活一些,但是Comparable方便一些. 举个栗子: import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; public class Main { public static void main(String

19. Set接口的一般用法

import java.util.HashSet; import java.util.Set; public class SetTest { public static void main(String[] args) { Set set=new HashSet(); String s1=new String("java"); String s2=s1; // String s3=new String("java"); String s3=new String(&q

5.通过参数注解多个接口参数的用法

一.参数注解 遇到多个参数,因为不能因为两三个参数去创建新的JavaBean类,对于参数比较少的情况下可以使用@Param注解. UserMapper.java package tk.mybatis.simple.mapper; import org.apache.ibatis.annotations.Param; import tk.mybatis.simple.model.SysRole; import tk.mybatis.simple.model.SysUser; import java

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

为了说明后续的Mybatis扩展,插播一篇广告,先来简要说明一下Mybatis的一种原生用法,不过先声明:下面说的只是Mybatis的其中一种用法,如需要更深入了解Mybatis,请参考官方文档,或者研读源码. 我们知道,使用Mybatis的方式有很多种,从是否集成上分,可以单独使用,也可以和Spring集成使用:从使用方式上分,可以编写静态工具类,在静态工具中调用SqlSession,也可以直接注入SqlSession/ SqlSessionTemplate,还可以编写Dao接口,让mybat

Function.prototype.bind接口浅析

本文大部分内容翻译自 MDN内容, 翻译内容经过自己的理解. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind Function.prototype.bind Syntax fun.bind(thisArg[, arg1[, arg2[, ...]]]) Parameters thisArg The value to be passed as the thi

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

俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习! 涉及到的知识点总结如下: 为什么使用接口? 接口和抽象类的区别 简单工厂模式总结 Java中new和newInstance的区别 Java的Class.forName(xxx); Java里创建对象的几个方式总结 Java类加载机制总结 Java WEB的三层架构和MVC的关系 工厂方法模式总结 抽象工厂模式总结 一道面试题的分析 一个服务提供者框架的学习 接口的另一常用法:策略模式 参考资料 先看这样一个场景:某个果园里现在有

java的接口和抽象类的理解

Java接口和抽象类用法总结,使用场景 分类: java 2014-07-09 15:22 279人阅读 评论(0) 收藏 举报 原文转载自:http://yinny.iteye.com/blog/1152430 接口 1 因为java不支持多重继承,所以有了接口,一个类只能继承一个父类,但可以实现多个接口,接口本身也可以继承多个接口. 2 接口里面的成员变量默认都是public static final类型的.必须被显示的初始化. 3 接口里面的方法默认都是public abstract类型的