標籤:version collected existing
首先安裝pymssql模組
pip install pymssqlCollecting pymssql Downloading pymssql-2.1.3-cp35-cp35m-win_amd64.whl (367kB) 100% |████████████████████████████████| 368kB 39kB/sInstalling collected packages: pymssql Found existing installation: pymssql 2.1.2 Uninstalling pymssql-2.1.2: Successfully uninstalled pymssql-2.1.2Successfully installed pymssql-2.1.3
案例代碼:
#!/usr/bin/env python# encoding: utf-8"""@version: ??@author: phpergao@license: Apache Licence @file: mssql.py@time: 2016/7/18 10:18"""import pymssqlclass MSSQL: """ 對pymssql的簡單封裝 pymssql庫,該庫到這裡下載:http://www.lfd.uci.edu/~gohlke/pythonlibs/#pymssql 使用該庫時,需要在Sql Server Configuration Manager裡面將TCP/IP協議開啟 用法: """ def __init__(self,host,user,pwd,db): self.host = host self.user = user self.pwd = pwd self.db = db def __GetConnect(self): """ 得到串連資訊 返回: conn.cursor() """ if not self.db: raise(NameError,"沒有設定資料庫資訊") self.conn = pymssql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset="utf8") cur = self.conn.cursor() if not cur: raise(NameError,"串連資料庫失敗") else: return cur def ExecQuery(self,sql): """ 執行查詢語句 返回的是一個包含tuple的list,list的元素是記錄行,tuple的元素是每行記錄的欄位 調用樣本: ms = MSSQL(host="localhost",user="sa",pwd="123456",db="PythonWeiboStatistics") resList = ms.ExecQuery("SELECT id,NickName FROM WeiBoUser") for (id,NickName) in resList: print str(id),NickName """ cur = self.__GetConnect() cur.execute(sql) resList = cur.fetchall() #查詢完畢後必須關閉串連 self.conn.close() return resList def ExecNonQuery(self,sql): """ 執行非查詢語句 調用樣本: cur = self.__GetConnect() cur.execute(sql) self.conn.commit() self.conn.close() """ cur = self.__GetConnect() cur.execute(sql) self.conn.commit() self.conn.close()def main():## ms = MSSQL(host="localhost",user="sa",pwd="123456",db="PythonWeiboStatistics")## #返回的是一個包含tuple的list,list的元素是記錄行,tuple的元素是每行記錄的欄位## ms.ExecNonQuery("insert into WeiBoUser values(‘2‘,‘3‘)") ms = MSSQL(host="192.168.1.1",user="sa",pwd="123456789",db="stddata") resList = ms.ExecQuery("SELECT * FROM STD_Store_Data") for i in resList: print (i)if __name__ == ‘__main__‘: main()
執行後的結果:
650) this.width=650;" src="http://s4.51cto.com/wyfs02/M01/84/4B/wKiom1eMQKTCkv5TAAEPDF-K4VU743.png-wh_500x0-wm_3-wmp_4-s_253326604.png" title="QQ圖片20160718103546.png" alt="wKiom1eMQKTCkv5TAAEPDF-K4VU743.png-wh_50" />
python 操作SQL SERVER資料庫