pymssql数据库操作MSSQL2005实例分析

yipeiwu_com6年前Python基础

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

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

#!/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程序设计有所帮助。

相关文章

Python GUI自动化实现绕过验证码登录

这篇文章主要介绍了python GUI自动化实现绕过验证码登录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1. 获取cookies...

python中将两组数据放在一起按照某一固定顺序shuffle的实例

有的时候需要将两组数据,比如特征和标签放在一起随机打乱, 但是又想记录这种打乱的顺序,那么该怎么做呢?下面是一个很好的方法: b = [1, 2,3, 4, 5,6 , 7,8 ,9...

Python实现公历(阳历)转农历(阴历)的方法示例

Python实现公历(阳历)转农历(阴历)的方法示例

本文实例讲述了Python实现公历(阳历)转农历(阴历)的方法。分享给大家供大家参考,具体如下: 两个要点: 1、公历转农历用了查表法(第126行) 2、节气用了天文法?(第176行)...

Python中使用select模块实现非阻塞的IO

Socket的英文原义是“孔”或“插座”。作为BSD UNIX的进程通信机制,取后一种意思。通常也称作”套接字”,用于描述IP地址和端口,是一个通信链的句柄。在Internet上的主机一...

ipad上运行python的方法步骤

ipad上可以运行python么? ipad上是可以运行python的。 1、在我们的ipad上百度搜索Python,点击进去。 2、进去网站之后,点击"Downloads->Wi...