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")