Python學習筆記十(pymssql資料庫操作)

來源:互聯網
上載者:User

因為公司使用的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='ssss',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
    sql = 'update pcontent set title = %s where id=1'
    cur.execute(sql,(str(datetime.datetime.today()),))
    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

最後提供一個DEMO.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.