当前位置:Gxlcms > Python > pymssql数据库操作MSSQL2005实例分析

pymssql数据库操作MSSQL2005实例分析

时间:2021-07-01 10:21:17 帮助过:63人阅读

本文实例讲述了pymssql数据库操作MSSQL2005的方法。分享给大家供大家参考。具体如下:

使用的MSSQL2005,通过pymssql来连接的。把可能用到的数据库操作方式都总结如下,如果要用的时候就备查啦。

  1. #!/usr/bin/env python
  2. #coding=utf-8
  3. from __future__ import with_statement
  4. from contextlib import closing
  5. import inspect
  6. import pymssql
  7. import uuid
  8. import datetime
  9. #查询操作
  10. with closing(pymssql.connect(host='localhost',user='sa',password='pppp',database='blogs')) as conn :
  11. cur = conn.cursor()
  12. #SELECT 长连接查询操作(逐条方式获取数据)
  13. sql = "select * from pcontent"
  14. cur.execute(sql)
  15. for i in range(cur.rowcount):
  16. print cur.fetchone()
  17. #SELECT 短链接查询操作(一次查询将所有数据取出)
  18. sql = "select * from pcontent"
  19. cur.execute(sql)
  20. print cur.fetchall()
  21. #INSERT
  22. sql = "INSERT INTO pcontent(title)VAlUES(%s)"
  23. uuidstr = str(uuid.uuid1())
  24. cur.execute(sql,(uuidstr,))
  25. conn.commit()
  26. print cur._result
  27. #INSERT 获取IDENTITY(在插入一个值,希望获得主键的时候经常用到,很不优雅的方式)
  28. sql = "INSERT INTO pcontent(title)VAlUES(%s);SELECT @@IDENTITY"
  29. uuidstr = str(uuid.uuid1())
  30. cur.execute(sql,(uuidstr,))
  31. print "arraysite:",cur.arraysize
  32. print cur._result[1][2][0][0]#不知道具体的做法,目前暂时这样使用
  33. conn.commit()
  34. #Update
  35. vl = '中国'
  36. sql = 'update pcontent set title = %s where id=1'
  37. cur.execute(sql,(vl,))
  38. conn.commit()
  39. #参数化查询这个是为了避免SQL攻击的
  40. sql = "select * from pcontent where id=%d"
  41. cur.execute(sql,(1,))
  42. print cur.fetchall()
  43. # 调用存储过程SP_GetALLContent 无参数
  44. sql = "Exec SP_GetALLContent"
  45. cur.execute(sql)
  46. print cur.fetchall()
  47. # 调用存储过程SP_GetContentByID 有参数的
  48. sql = "Exec SP_GetContentByID %d"
  49. cur.execute(sql,(3,))
  50. print cur.fetchall()
  51. #调用存储过程SP_AddContent 有output参数的(很不优雅的方式)
  52. sql = "DECLARE @ID INT;EXEC SP_AddContent 'ddddd',@ID OUTPUT;SELECT @ID"
  53. cur.execute(sql)
  54. print cur._result

希望本文所述对大家的Python程序设计有所帮助。

人气教程排行