本文實例講述了pymssql數據庫操作MSSQL2005的方法。分享給大家供大家參考。具體如下:
使用的MSSQL2005,通過pymssql來連接的。把可能用到的數據庫操作方式都總結如下,如果要用的時候就備查啦。
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 #!/usr/bin/env python #coding=utf-8 from __future__ import with_statement from contextlib import closing import inspect import pymssql import uuid import datetime #查詢操作 with closing(pymssql.connect(host='localhost',user='sa',password='pppp',database='blogs')) as conn : cur = conn.cursor() #SELECT 長連接查詢操作(逐條方式獲取數據) sql = "select * from pcontent" cur.execute(sql) for i in range(cur.rowcount): print cur.fetchone() #SELECT 短鏈接查詢操作(一次查詢將所有數據取出) sql = "select * from pcontent" cur.execute(sql) print cur.fetchall() #INSERT sql = "INSERT INTO pcontent(title)VAlUES(%s)" uuidstr = str(uuid.uuid1()) cur.execute(sql,(uuidstr,)) conn.commit() print cur._result #INSERT 獲取IDENTITY(在插入一個值,希望獲得主鍵的時候經常用到,很不優雅的方式) sql = "INSERT INTO pcontent(title)VAlUES(%s);SELECT @@IDENTITY" uuidstr = str(uuid.uuid1()) cur.execute(sql,(uuidstr,)) print "arraysite:",cur.arraysize print cur._result[1][2][0][0]#不知道具體的做法,目前暫時這樣使用 conn.commit() #Update vl = '中國' sql = 'update pcontent set title = %s where id=1' cur.execute(sql,(vl,)) conn.commit() #參數化查詢這個是為了避免SQL攻擊的 sql = "select * from pcontent where id=%d" cur.execute(sql,(1,)) print cur.fetchall() # 調用存儲過程SP_GetALLContent 無參數 sql = "Exec SP_GetALLContent" cur.execute(sql) print cur.fetchall() # 調用存儲過程SP_GetContentByID 有參數的 sql = "Exec SP_GetContentByID %d" cur.execute(sql,(3,)) print cur.fetchall() #調用存儲過程SP_AddContent 有output參數的(很不優雅的方式) sql = "DECLARE @ID INT;EXEC SP_AddContent 'ddddd',@ID OUTPUT;SELECT @ID" cur.execute(sql) print cur._result希望本文所述對大家的Python程序設計有所幫助。