专注于自动化测试,性能测试.......

Python操作SQL Server数据库(原创)

上一篇 / 下一篇  2009-08-29 15:44:11 / 个人分类:Python

 51Testing软件测试网s5M%[!e0Mew$x

Pymssqlpython用来连接Mssql的一个模块,包含两个扩展模块51Testing软件测试网?'PR!Qr~w;c]aQB9?

Pymssql这是遵循DB-API标准的模块51Testing软件测试网VcKdo+h\LX

_mssql是一个直接操作SQL Server的底层模块,它有很多有用的功能,但是不遵循DB-API标准。51Testing软件测试网b ib@~7~^l{|

 

7d)t;l5JU"~2M%h/{1L9L0

pymssqlCnx51Testing软件测试网7blu8L S

 用于连接Mssql数据库

!sx,_2S8opmYI5e0

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

[9W q~H\OV0

dsn:连接字符串,主要用于与之前版本的pymssql兼容51Testing软件测试网b*kt%ct'B8b

user:用户名51Testing软件测试网};}:Fd4](ELI6B

password:密码

FX y9f$o wS#_ qd5N0

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

?xb&[(u0

host :主机名51Testing软件测试网-Oj%wPw S}T

database:数据库

.B&vohq+exa0

timeout:查询超时

\ jdJ^)K0

login_timeout:登陆超时51Testing软件测试网:]1k)F4Um6L

charset:数据库的字符集

V1MqpB%I$O0

as_dict:布尔值,指定返回值是字典还是元组51Testing软件测试网 k+MEQYh0U9@

max_conn:最大连接数

u Dm6j6~;Gx'G m0

 51Testing软件测试网:^p K-|3A a]'K6wS1R

Method51Testing软件测试网 ?5@e7XZ.uP_L

autocommit(status)

[h'CN'g_.I0

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

2l(P+R%~4ZW0

关闭连接
;f@7x!NY/n4l h@0
cursor()51Testing软件测试网)Qv.YQ]vZ(T

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

H#f5OTL-t|0

返回游标对象,用于查询和返回数据51Testing软件测试网f:Q Ck:` y
commit()

$eE.f-}rLe/]0

提交事务。
~N7hu?$B,M]0
rollback()51Testing软件测试网4cd,x+O'wT

回滚事务51Testing软件测试网$TU"c3mHDjnH

pymssqlCursor

.I e0QJoQW2UC0

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

8A0y9CO T6z(M0

rowcount51Testing软件测试网0vIK-cK:hk

返回最后操作影响的行数。
(FY} |U1?Y%E ^&e0
connection

2Y;eud0~]S.o0

返回创建游标的连接对象
bH,[1p4Fyph0~p0
lastrowid

5q}ki*I];bV0

返回插入的最后一行51Testing软件测试网4wP!yRm o
rownumber

"M'vW:sey-Q rR0

返回当前数据集中的游标(通过索引)51Testing软件测试网+N/Mh0u#^F;P6Y/y#Mp

 

y0~2F0A#cbz0

游标方法51Testing软件测试网 d8a"[R&t

close()

f9z:a"E3Is4ib0

关闭游标51Testing软件测试网rXLSR*|0YT

51Testing软件测试网"n7ND6du(U1w
execute(operation)

+v/K2duQ7Z&j)`(K0

执行操作
%o"U4T sV*gL0
execute(operation, params)51Testing软件测试网a5J2Bw4Fe

执行操作,可以提供参数进行相应操作51Testing软件测试网*`|x']mC1Q2F(I
executemany(operation, params_seq)51Testing软件测试网*T.@)}o r%Y

operationis a string andparams_seqis a sequence of tuples (e.g. a list). Execute a database operation repeatedly for each element in parameter sequence.51Testing软件测试网G-fsB:F5Kw

执行操作,Params_seq为元组51Testing软件测试网7~iv[({NG&T7BV&v
fetchone()51Testing软件测试网ka kN!_/H0e

在结果中读取下一行

9H!| f-?z l0

51Testing软件测试网2L'v@.U0~z
fetchmany(size=None)

)R-{!_6Rj\ CmQ O0

在结果中读取指定数目的行51Testing软件测试网{I!fn2d
fetchall()51Testing软件测试网?%Y)s&u2M9w

读取所有行51Testing软件测试网%vxY RjLj

51Testing软件测试网;Y%X#e2J3p'R+P
nextset()51Testing软件测试网 d:W k9@[R

游标跳转到下一个数据集
UM,@!phmB-~L4M0
__iter__(),next()51Testing软件测试网No!W3N`I9R

These methods faciliatePython iterator protocol. You most likely will not call them directly, but indirectly by using iterators.
K-A rPR R*S0
setinputsizes(),setoutputsize()51Testing软件测试网#X%hM)r7S Y{?C

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

+e3B]'~8r0

 

sE1Gb;ZJ0

 51Testing软件测试网B@3k-RG

举例:51Testing软件测试网L6} c%o8M$E

#-*-coding:gb2312-*-

Z:T kIT9c0

import pymssql51Testing软件测试网+} MI2F3K&P]

#数据库连接

2_ mt7z$P1R3]Az0

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

QySN;i;?0

#定义游标

HYA;OW$v0

cur = conn.cursor()

x*Y-p o5YBmk0

#执行指定的sql

i],A p9| pS'Av0

cur.execute("select * from dbo.bookshop")51Testing软件测试网"c_6B ^Yo n

#游标读取第一行51Testing软件测试网({ SJk/F

row = cur.fetchone()

P5iK0Nz ^b#[M0

for i in range(2):

'HSw4c T"g4^0

   if i ==2:

9u,]qZ3V0

       print row[0]," ".ljust(10-len(row[0])," "),row[1]," ".ljust(20-len(row[1])," "),row[2]51Testing软件测试网?q([&hn2w"[

   row = cur.fetchone()51Testing软件测试网.[a^"~~'WM^&u*h N

 51Testing软件测试网!X-j:L!wl VJ \

#关闭数据库连接51Testing软件测试网%D[ai-D#w

conn.close()51Testing软件测试网$a3LW(f+qS'pu1U Z$c

 

}'Qo!w*x [ ? L0

相关资源:51Testing软件测试网I&W"k;`&L%U3rh

http://pymssql.sourceforge.net/index.php51Testing软件测试网6Y O)][$c6Xd)S


TAG: Python python

 

评分:0

我来说两句

wxf_xsfy

wxf_xsfy

自动化测试的拥簇者,善于自动化测试的框架和工具开发,TIB工作室核心成员

日历

« 2024-05-07  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 381639
  • 日志数: 79
  • 图片数: 1
  • 文件数: 1
  • 书签数: 3
  • 建立时间: 2007-09-19
  • 更新时间: 2018-01-30

RSS订阅

Open Toolbar