pymssql数据库操作MSSQL2005实例分析
本文实例讲述了pymssql数据库操作MSSQL2005的方法。分享给大家供大家参考。具体如下:
使用的MSSQL2005,通过pymssql来连接的。把可能用到的数据库操作方式都总结如下,如果要用的时候就备查啦。
#!/usr/bin/envpython #coding=utf-8 from__future__importwith_statement fromcontextlibimportclosing importinspect importpymssql importuuid importdatetime #查询操作 withclosing(pymssql.connect(host='localhost',user='sa',password='pppp',database='blogs'))asconn: cur=conn.cursor() #SELECT长连接查询操作(逐条方式获取数据) sql="select*frompcontent" cur.execute(sql) foriinrange(cur.rowcount): printcur.fetchone() #SELECT短链接查询操作(一次查询将所有数据取出) sql="select*frompcontent" cur.execute(sql) printcur.fetchall() #INSERT sql="INSERTINTOpcontent(title)VAlUES(%s)" uuidstr=str(uuid.uuid1()) cur.execute(sql,(uuidstr,)) conn.commit() printcur._result #INSERT获取IDENTITY(在插入一个值,希望获得主键的时候经常用到,很不优雅的方式) sql="INSERTINTOpcontent(title)VAlUES(%s);SELECT@@IDENTITY" uuidstr=str(uuid.uuid1()) cur.execute(sql,(uuidstr,)) print"arraysite:",cur.arraysize printcur._result[1][2][0][0]#不知道具体的做法,目前暂时这样使用 conn.commit() #Update vl='中国' sql='updatepcontentsettitle=%swhereid=1' cur.execute(sql,(vl,)) conn.commit() #参数化查询这个是为了避免SQL攻击的 sql="select*frompcontentwhereid=%d" cur.execute(sql,(1,)) printcur.fetchall() #调用存储过程SP_GetALLContent无参数 sql="ExecSP_GetALLContent" cur.execute(sql) printcur.fetchall() #调用存储过程SP_GetContentByID有参数的 sql="ExecSP_GetContentByID%d" cur.execute(sql,(3,)) printcur.fetchall() #调用存储过程SP_AddContent有output参数的(很不优雅的方式) sql="DECLARE@IDINT;EXECSP_AddContent'ddddd',@IDOUTPUT;SELECT@ID" cur.execute(sql) printcur._result
希望本文所述对大家的Python程序设计有所帮助。