Pymssqlpython用来连接Mssql的一个模块,包含两个扩展模块

Pymssql这是遵循DB-API标准的模块

_mssql是一个直接操作SQL Server的底层模块,它有很多有用的功能,但是不遵循DB-API标准。

 

pymssqlCnx

 用于连接Mssql数据库

你可以使用pymssql.connect()来初始化连接类。它允许如下的参数。

dsn:连接字符串,主要用于与之前版本的pymssql兼容

user:用户名

password:密码

trusted:布尔值,指定是否使用windows身份认证登陆

host :主机名

database:数据库

timeout:查询超时

login_timeout:登陆超时

charset:数据库的字符集

as_dict:布尔值,指定返回值是字典还是元组

max_conn:最大连接数

 

Method

autocommit(status)

布尔值,指示是否自动提交事务,默认的状态是关闭的,如果打开,你必须调用commit()方法来提交事务。
close()

关闭连接
cursor()

Return a cursor object, that can be used to make queries and fetch results from the database.

返回游标对象,用于查询和返回数据
commit()

提交事务。
rollback()

回滚事务

pymssqlCursor

用于从数据库查询和返回数据

rowcount

返回最后操作影响的行数。
connection

返回创建游标的连接对象
lastrowid

返回插入的最后一行
rownumber

返回当前数据集中的游标(通过索引)

 

游标方法

close()

关闭游标


execute(operation)

执行操作
execute(operation, params)

执行操作,可以提供参数进行相应操作
executemany(operation, params_seq)

operationis a string andparams_seqis a sequence of tuples (e.g. a list). Execute a database operation repeatedly for each element in parameter sequence.

执行操作,Params_seq为元组
fetchone()

在结果中读取下一行


fetchmany(size=None)

在结果中读取指定数目的行
fetchall()

读取所有行


nextset()

游标跳转到下一个数据集
__iter__(),next()

These methods faciliatePython iterator protocol. You most likely will not call them directly, but indirectly by using iterators.
setinputsizes(),setoutputsize()

These methods do nothing, as permitted by DB-API specs.

 

 

举例:

#-*-coding:gb2312-*-

import pymssql

#数据库连接

conn = pymssql.connect(host =".",database ="master",user="sa",password="1")

#定义游标

cur = conn.cursor()

#执行指定的sql

cur.execute("select * from dbo.bookshop")

#游标读取第一行

row = cur.fetchone()

for i in range(2):

   if i ==2:

       print row[0]," ".ljust(10-len(row[0])," "),row[1]," ".ljust(20-len(row[1])," "),row[2]

   row = cur.fetchone()

 

#关闭数据库连接

conn.close()

 

相关资源:

http://pymssql.sourceforge.net/index.php