python数据库模块

python开发中,使用数据库是已经再普通不过的事情了。现在的NoSQL也很流行,但暂不涉及。本文主要记录python中连接常用关系型数据库的问题。今天在配置sql server连接时遇到了不同的模块,从而整理整个数据库模块的操作。(环境:windows,python2.7)

首先概括下面会谈到的常用关系型数据库:SQLite、MySQL、PoesgreSQL、Oracle、SQL Server、 excel

  • SQLite:sqlite3。(python2.5+内置)
  • MySQL: MySQLdb
  • PoesgreSQL:postgresql_psycopg2()
  • Oracle:  cx_Oracle
  • SQL Server: pymssql、pyodbc、adodbapi
  • excel:  pyExcelertor

1.1 SQL Server: pymssql

安装pymssql,cmd下执行pip install pymssql,然后 在交互页面或者IDLE中 import pymmsql  出现找不到指定的模块。pip安装最新的pymssql2.1.2,但是

于是我们需要自己安装FreeTDSopenssl

  • 安装FreeTDS
Python 版本 VS
2.7 vs2008
3.3 或者 3.4 vs2010
3.5 vs2015

下载解压出来后找到里面一个包含 DLL 文件的文件夹,将这个目录添加到系统或用户的PATH 变量里面。

  • 安装openssl

接着下载预编译好的 openssl,根据自己的 Python 版本选择对应 vs 版本的 7z 文件(见上表)。解压出来后同样找到里面包含 DLL 文件的文件夹(64 位系统可以选择文件夹名带 64 的),然后将这个目录添加到PATH 变量里面。

我的两个目录是:

C:\freetds-v0.95.81-win-x86_64-vs2008\lib;

C:\openssl-1.0.1q-vs2008\bin64;

使用:

import pymssql

conn=pymssql.connect(server="127.0.0.1",port="1433",user="sa",password="123",database="myblog",charset="UTF-8")

cursor = conn.cursor()

conn.close()

1.2  SQL Server: pyodbc

安装pyodbc,cmd下 pip  install  pyodbc,使用如下:

import pyodbc

连接数据库

1)直接连接数据库和创建一个游标(cursor)

?


1

2

cnxn = pyodbc.connect(‘DRIVER={SQL Server};SERVER=localhost;DATABASE=testdb;UID=me;PWD=pass‘)

cursor = cnxn.cursor()

2)使用DSN连接。通常DSN连接并不需要密码,还是需要提供一个PSW的关键字。

?


1

2

cnxn = pyodbc.connect(‘DSN=test;PWD=password‘)

cursor = cnxn.cursor()

1.3 SQL Server: adodbapi

安装adodbapi ,cmd下 pip install adodbapi 或者安装pywin32(Since pywin32 release 211, adodbapi is included )

使用:

import adodbapi

conn={‘server‘:‘192.168.29.86\\eclexpress‘,‘password‘:‘xxxx‘,‘db‘:‘pscitemp‘}

constr = r"Provider=SQLOLEDB.1; Initial Catalog=%s; Data Source=%s; user ID=%s; Password=%s; " \
         % (conn[‘db‘], conn[‘server‘], ‘sa‘, conn[‘password‘])

conn=adodbapi.connect(constr)

2、SQLite:sqlite3的使用

import sqlite3

#打开db文件,获得连接
conn = sqlite3.connect(‘数据文件名‘)
#获得游标
c = conn.cursor()
#执行SQL
c.execute(‘‘‘SQL 片段‘‘‘)
#如果有对数据的修改操作,那就需要commit一下
conn.commit()
#关闭游标
c.close()
#关闭连接

conn.close()

3、MySQL: MySQLdb的连接

import MySQLdb

conn=MySQLdb.connect(host="localhost",user="root",passwd="",db="test",charset="utf8")

cursor = conn.cursor()

4、PoesgreSQL:postgresql_psycopg2

import psycopg2

conn = psycopg2.connect(database="testdb", user="postgres", password="pass123", host="127.0.0.1", port="5432")

print "Opened database successfully"

cur = conn.cursor()

5、Oracle:  cx_Oracle

import cx_Oracle                                          #引用模块cx_Oracle
conn=cx_Oracle.connect(‘load/[email protected]/ora11g‘)    #连接数据库
c=conn.cursor()                                           #获取cursor

6、excel:  pyExcelertor

from pyExcelerator import *

sheets=pyExcelerator.parse_xls(‘xxx.xls‘) #读取文件内容

时间: 2025-01-17 12:25:55

python数据库模块的相关文章

Python MySQLdb模块连接操作mysql数据库实例_python

mysql是一个优秀的开源数据库,它现在的应用非常的广泛,因此很有必要简单的介绍一下用python操作mysql数据库的方法.python操作数据库需要安装一个第三方的模块,在http://mysql-python.sourceforge.net/有下载和文档. 由于python的数据库模块有专门的数据库模块的规范,所以,其实不管使用哪种数据库的方法都大同小异的,这里就给出一段示范的代码: #-*- encoding: gb2312 -*- import os, sys, string impo

十二、Python高级功能之Mysql数据库模块

Python高级功能之Mysql数据库模块 安装python mysql组件 # yum -y install MySQL-python.x86_64 以下根据实例来说明: >>> import MySQLdb >>> conn = MySQLdb.connect(user='root',passwd='2wdc%RDX',host='localhost')  #连接数据库(到服务器的连接) >>> cur = conn.cursor()  # 创建游

[转]python pickle模块

持久性就是指保持对象,甚至在多次执行同一程序之间也保持对象.通过本文,您会对 Python对象的各种持久性机制(从关系数据库到 Python 的 pickle以及其它机制)有一个总体认识.另外,还会让您更深一步地了解Python 的对象序列化能力. 什么是持久性? 持久性的基本思想很简单.假定有一个 Python 程序,它可能是一个管理日常待办事项的程序,您希望在多次执行这个程序之间可以保存应用程序对象(待办事项).换句话说,您希望将对象存储在磁盘上,便于以后检索.这就是持久性.要达到这个目的,

Python数据库编程

简介 在任何应用中,都需要持久化存储,一般有3种基础的存储机制:文件.数据库系统以及一些混合类型.这种混合类型包括现有系统上的API.ORM.文件管理器.电子表格.配置文件等.在了解数据库以及如何在Python中使用他们之前,首先需要知道数据库概念以及SQL语句. 底层存储 数据库通常使用文件系统作为基本的持久化存储,它可以是普通的操作系统文件.专用的操作系统文件,甚至是原始的磁盘分区. 用户接口 大多数数据库系统提供了命令行工具,可以使用其执行SQL语句或查询.此外还有一些GUI工具,使用命令

python 各模块

01 关于本书 02 代码约定 03 关于例子 04 如何联系我们 1 核心模块 11 介绍 111 内建函数和异常 112 操作系统接口模块 113 类型支持模块 114 正则表达式 115 语言支持模块 12 _ _builtin_ _ 模块 121 使用元组或字典中的参数调用函数 1211 Example 1-1 使用 apply 函数 1212 Example 1-2 使用 apply 函数传递关键字参数 1213 Example 1-3 使用 apply 函数调用基类的构造函数 122

Python常用模块介绍

python除了关键字(keywords)和内置的类型和函数(builtins),更多的功能是通过libraries(即modules)来提供的. 常用的libraries(modules)如下: 1)python运行时服务 * copy: copy模块提供了对复合(compound)对象(list,tuple,dict,custom class)进行浅拷贝和深拷贝的功能. * pickle: pickle模块被用来序列化python的对象到bytes流,从而适合存储到文件,网络传输,或数据库存

Python 正则表达式模块 (re) 简介

Python 的 re 模块(Regular Expression 正则表达式)提供各种正则表达式的匹配操作,和 Perl 脚本的正则表达式功能类似,使用这一内嵌于 Python 的语言工具,尽管不能满足所有复杂的匹配情况,但足够在绝大多数情况下能够有效地实现对复杂字符串的分析并提取出相关信息.Python 会将正则表达式转化为字节码,利用 C 语言的匹配引擎进行深度优先的匹配. Python 正则表达式语法 正则表达式可以包含普通字符和特殊字符,普通字符(比如数字或者字母)可以直接对目标字符串

python 常用模块(转载)

转载地址:http://codeweblog.com/python-%e5%b8%b8%e7%94%a8%e6%a8%a1%e5%9d%97/ adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheetahcherrypy:一个WEB frameworkctypes:用来调用动态链接库DBUtils:数据库连接池django:一个WEB frameworkdocutils:用来写文档的dpkt:数据包的解包和组包My

python数据库(mysql)操作

一.软件环境 python环境默认安装了sqlite3,如果需要使用sqlite3我们直接可以在python代码模块的顶部使用import sqlite3来导入该模块.本篇文章我是记录了python操作mysql数据库,mysql数据库下载 由于我之前安装的是wampserver,默认安装了php.mysql和apache这3个环境,因此我没有在单独安装mysql数据库,只是下载了一个mysql管理工具Navicat for MySQL.在使用Navicat for MySQL连接本地mysql