python使用pyodbc連接sqlserver
用python操作ms sqlserver,有好幾種方法:
(1)利用pymssql (2)利用pyodbc
這里講import pyodbc來操作sql server database。
pyodbc是Python包,使用ODBC驅(qū)動器來連接SQL Server數(shù)據(jù)庫,其中pyodbc的基本類型是Connection,Cursor、Row
其中,Connection表示客戶端和數(shù)據(jù)庫的連接,并用于提交事務;
Cursor表示向數(shù)據(jù)庫發(fā)送的查詢請求;
Row表示獲取的結果集。
首先查看自己電腦有沒有安裝sql server對應的odbc,在控制面板中可以查:
控制面板-->管理工具-->數(shù)據(jù)源(ODBC)
我電腦的版本是 ODBC Driver 11 for SQL Server
不同電腦安裝了不同的sql server版本,可能driver不同,有可能是12、13、19等等版本。
然后利用powershell下載安裝pyodbc包,如圖輸入
pip install pyodbc
下載成功之后,輸入看看有沒有成功安裝package
pip list
成功安裝package之后,就可以開始編輯python代碼了。
代碼如下(兩個文件DBHelp_SqlServer.py 和 testConn.py):
文件1(DBHelp_SqlServer.py)
import pyodbc class MSSQL: def __init__(self, IP, UserID, Pwd, db): self.host=IP; self.user=UserID; self.password=Pwd; self.dbname=db; def __getConnect(self): if not self.dbname: raise(NameError,"db name undefine error") else: connSTR="Driver={ODBC Driver 11 for SQL Server};SERVER=%s,1433;DATABASE=%s;UID=%s;PWD=%s" % (self.host, self.dbname, self.user, self.password) ##example: Driver={ODBC Driver 11 for SQL Server};SERVER=127.0.0.1,1433;DATABASE=MyTestDB;UID=sa;PWD=Abc123 self.conn = pyodbc.connect(connSTR); cu= self.conn.cursor(); if not cu: raise(NameError,"db connect error"); else: return cu; def ExecuteTableQuery(self,selectSql): cuu = self.__getConnect(); selectRows = cuu.execute(selectSql); resList=selectRows.fetchall(); self.conn.close(); return resList; def ExecuteNonQuery(self,sql): cuu = self.__getConnect(); cuu.execute(sql); self.conn.commit(); self.conn.close(); def PrintODBCDrivers(self): print(pyodbc.drivers() );
文件2(testConn.py)
import DBHelp_SqlServer db=DBHelp_SqlServer.MSSQL(IP="127.0.0.1", UserID="sa", Pwd="Abc123", db="MyTestDB"); sqlinsert="insert into TeacherTable(TName,TClass) values('呂老師','三年級')" db.ExecuteNonQuery(sql=sqlinsert); sql1="select * from TeacherTable"; datatable = db.ExecuteTableQuery(selectSql=sql1); print(datatable);
運行之后就能看到insert sql和select sql的結果了。
備注:如果使用pymssql,可能會出現(xiàn)中文亂碼的問題,我搞不懂怎么解決。而使用pyodbc就沒出現(xiàn)亂碼。哪個簡單用哪個。
到此這篇關于python使用pyodbc連接sqlserver 的文章就介紹到這了,更多相關python 連接sqlserver 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python創(chuàng)建對稱矩陣的方法示例【基于numpy模塊】
這篇文章主要介紹了Python創(chuàng)建對稱矩陣的方法,結合實例形式分析了Python基于numpy模塊實現(xiàn)矩陣運算的相關操作技巧,需要的朋友可以參考下2017-10-10淺談Python數(shù)據(jù)類型之間的轉(zhuǎn)換
下面小編就為大家?guī)硪黄獪\談Python數(shù)據(jù)類型之間的轉(zhuǎn)換。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-06Python 類,property屬性(簡化屬性的操作),@property,property()用法示例
這篇文章主要介紹了Python 類,property屬性(簡化屬性的操作),@property,property()用法,結合實例形式分析了Python類的定義、屬性、方法及相關使用技巧,需要的朋友可以參考下2019-10-10