• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > python网络编程学习笔记(九):数据库客户端 DB-API

python网络编程学习笔记(九):数据库客户端 DB-API

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了python网络编程学习笔记(九):数据库客户端 DB-API等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

一、DB-API概述

      python支持很多不同的数据库。由于不同的卖家服务器导致和数据库通信的网络协议各有不同。在python的早期版本中,每一种数据库都带有自己的python模块,所有这些模块以不同的方式工作,并提供不同的函数。这种方法不便于编写能够在多种数据库服务器类型中运行的代码,于是DB-API库函数产生。在DB-API中,所有连接数据库的模块即便是底层网络协议不同,也会提供一个共同的接口。这一点和JAVA中的JDBC和ODBC类似。
      DB-API下载地址:http://wiki.python.org/moin/DatabaseProgramming,目前版本是2.0,支持数据库包括IBM DB2、Firebird (and Interbase) 、Informix、Ingres、MySQL、Oracle 、PostgreSQL 、SAP DB (also known as "MaxDB") 、Microsoft SQL Server 、Sybase 等。

二、数据库连接

1、PostgreSQL

      有几个模块可以完成python与PostgreSQL的联接,这里主要介绍使用psycopg。
下载地址是:http://initd.org/psycopg/download/。如果没有PostgreSQL,可以从以下地址下载:http://www.postgresql.org/。(关于PostgreSQL的安装等更加详细的介绍,可以见http://wenku.baidu.com/view/8e32d10c6c85ec3a87c2c500.html。)连接PostgreSQL数据库:

参数 说明
user 用户名,默认为当前登录用户。
passwd 用户密码,没有默认的。
db 连接的数据库名。
host 数据库主机名。
port TCP端口,默认是3306。

举例,连接test数据库:

三、简单操作(以PostgreSQL为例)

这里以PostgreSQL为例介绍创建表、查询表等操作。例子中数据库名为test,用户名为postgres,输入一个表名,向表中插入数据并进行查询。具体如下,已进行了注示:

1、事务

多数数据库支持事务,事务可以将多条对数据库的改动放在一条命令中。在上面的例子中,当未曾执行commit()命令时,以上对数据库的操作均不会生效。另外还有一个函数rollback(),这个函数可以有效的放弃上一次执行commit()或者rollback()之后的改动。这个函数在发现错误,并想放弃已经发出的事务时,非常有效。对于不支持事务的数据库,改变会立刻执行,commit()什么也不做,但rollback()会报错。

2、效率

执行事件的性能很大程序上取决于不同的服务器,一般来说,在每个单独的命令后都提交是更新数据库最慢的方法,但如果一次提交很大数据又会使服务器产生buffer溢出。因此,应该合理处理提交的数量。

四、参数风格
在上面的例子中,使用了printf()一样的类型格式。但实际上,在DB-API中,不同的数据库所支持的参数风络不同,必须选择合适的方法,否则程序不会执行。下面的方法,可以知道当前所支持的类型格式。

pyformat这一结果可以看出,当前支持pyformat格式。

针对DB-API说明书,以使用频度由小变大的顺序介绍:

qmark 表示question-mark风格。指令字符串中的数据的每一位都被用一个问号替换,参数以list或tuple的形式给出。例如:INSERT INTO ch14 VALUES (?, ?)。
format 使用和printf()一样的类型格式,不支持对于指定参数Python的扩展名。它带一个list或tuple来转换。例如:INSERT INTO ch14 VALUES(%d, %s)
numeric 表示numeric风格。指令字符串中的数据的每一位都被一个后面是数字的冒号替换(数字以1开始),参数以list或tuple的形式给出。例如:INSERT INTO ch14 VALUES(:1, :2)
named 表示named风格。和numeric类似,但是在冒号后面用名称取代数字。带一个dictionary用来转换。例如:INSERT INTO ch14 VALUES(:number, :text)
pyformat 支持Python风格的参数,带dictionary用来转换。例如:INSERT INTO ch14 VALUES(%(number)d, %(text)s)。

五、重复指令
1、execute和executemany()

例子:

将下面的数据插入到test数据库中:

12 Twelve
13 Thirteen
14 Fourteen
15 Fifteen

(1)execute一条条插入

这种方法过于低效。

(2)executemany()函数带一个指令和一列指令运行的记录。列表上的每条记录要么是一个list,要么是一个dictionary。

         {'num': 1, 'text': 'I

您可能想查找下面的文章:

相关文章

  • 详解Python命令行解析工具Argparse
  • python实现的一只从百度开始不断搜索的小爬虫
  • Python常用知识点汇总
  • Python安装第三方库的3种方法
  • python修改字典内key对应值的方法
  • 简单解决Python文件中文编码问题
  • 浅谈Python单向链表的实现
  • Python使用xlrd模块操作Excel数据导入的方法
  • Python按行读取文件的实现方法【小文件和大文件读取】
  • Python实现的二维码生成小软件

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Python编写简单的HTML页面合并脚本
    • 使用python绘制常用的图表
    • Python中列表、字典、元组数据结构的简单学习笔记
    • Python中的闭包实例详解
    • python处理json数据中的中文
    • Python中的多行注释文档编写风格汇总
    • python获取beautifulphoto随机某图片代码实例
    • 跟老齐学Python之传说中的函数编写条规
    • 使用Python将数组的元素导出到变量中(unpacking)
    • 通过数据库对Django进行删除字段和删除模型的操作

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有