python进阶1--数据库支持

数据库支持

1.连接和游标

1)connect函数,该函数有多个参数,而具体使用那个参数取决于数据库。--连接数据库

常用参数:

dsn:数据源名称

user:用户名

password:用户密码

host:主机名

database:数据库名

2)connect函数返回连接对象,这个对象表示目前和数据库的会话。

连接对象方法:

close()      关闭连接后,连接对象和它的游标均不可用

commit()   如果支持的话就提交挂起的事务,否则不做任何事

cursor()    返回对象的游标对象

 

3)通过cursor()方法可以引入另外一个主题:游标对象。通过游标对象执行SQL查询并检查结果。

游标对象方法:

close()     关闭游标之后,游标不可用

execute(oper[,params]     执行sql操作,可能使用参数

fetchone()     把查询的结果集中的下一行保存为序列,或者为None

fetchall()        将所有(剩余)的行作为序列的序列

4.python连接sql server数据库

A.使用pymssql模块来实现(简单MSSQL Python扩展模块,自由软件)。

 下载地址:http://code.google.com/p/pymssql/downloads/list

具体实践:

import pymssql

conn=pymssql.connect(host="**",user="sa",password="123",database="###",charset="UTF8")      #返回连接对象

cur=conn.cursor()                               #创建游标对象

cur.execute("select * from tCity")         #执行查询操作

cur.fetchall()                                       #返回查询结果所有行

cur.close()                                         #关闭游标

conn.close()                                       #关闭连接

具体数据库详细编程可参考实例:

http://www.cnblogs.com/qianlifeng/archive/2012/02/06/2340367.html

 

 

B.使用PyODBC访问sql server

一、Windows下配置Python访问Sqlserver

环境:Windows 7 + Sqlserver 2008

1、下载并安装pyodbc

下载地址:http://code.google.com/p/pyodbc/downloads/list

2、访问SqlServer

>>> import pyodbc

>>>cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=192.168.1.100\sql;DATABASE=testDB;UID=sa;PWD=myPassword')

>>>cursor = cnxn.cursor()

>>>cursor.execute("select * from Tb")

 

二、Linux下配置Python访问SqlServer

环境:CentOS 6.2 + Sqlserver 2008

1、安装freetds

yum install freetds*

 

2、安装pyodbc

yum install pyodbc

修改odbc配置:

vi /etc/odbcinst.ini

添加FreeTDS驱动:

[SQL Server]

Description = FreeTDS ODBC driver for MSSQL

Driver = /usr/lib/libtdsodbc.so

Setup = /usr/lib/libtdsS.so

FileUsage = 1

 

3、测试

#python

>>> import pyodbc

>>>cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=192.168.1.100\sql;DATABASE=testDB;UID=sa;PWD=myPassword')

>>>cursor = cnxn.cursor()

>>>cursor.execute("select * from Tb")

 

 

原文地址:https://www.cnblogs.com/yu2000/p/3429602.html