最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python使用pyodbc連接sqlserver

 更新時(shí)間:2023年02月08日 09:08:27   作者:羅漢松駐扎的工作基地  
本文主要介紹了python使用pyodbc連接sqlserver,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

用python操作ms sqlserver,有好幾種方法:

(1)利用pymssql (2)利用pyodbc

這里講import pyodbc來操作sql server database。

pyodbc是Python包,使用ODBC驅(qū)動(dòng)器來連接SQL Server數(shù)據(jù)庫,其中pyodbc的基本類型是Connection,Cursor、Row

其中,Connection表示客戶端和數(shù)據(jù)庫的連接,并用于提交事務(wù);

Cursor表示向數(shù)據(jù)庫發(fā)送的查詢請(qǐng)求;

Row表示獲取的結(jié)果集。

首先查看自己電腦有沒有安裝sql server對(duì)應(yīng)的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代碼了。

代碼如下(兩個(gè)文件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('呂老師','三年級(jí)')" 
db.ExecuteNonQuery(sql=sqlinsert);
 
sql1="select * from TeacherTable";
datatable = db.ExecuteTableQuery(selectSql=sql1);
print(datatable);

運(yùn)行之后就能看到insert sql和select sql的結(jié)果了。

備注:如果使用pymssql,可能會(huì)出現(xiàn)中文亂碼的問題,我搞不懂怎么解決。而使用pyodbc就沒出現(xiàn)亂碼。哪個(gè)簡(jiǎn)單用哪個(gè)。

到此這篇關(guān)于python使用pyodbc連接sqlserver 的文章就介紹到這了,更多相關(guān)python 連接sqlserver 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python?IO文件管理的具體使用

    Python?IO文件管理的具體使用

    我們可以使用python來操作文件,比如讀取文件內(nèi)容、寫入新的內(nèi)容等,本文主要介紹了Python?IO文件管理的具體使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 使用Python進(jìn)行新浪微博的mid和url互相轉(zhuǎn)換實(shí)例(10進(jìn)制和62進(jìn)制互算)

    使用Python進(jìn)行新浪微博的mid和url互相轉(zhuǎn)換實(shí)例(10進(jìn)制和62進(jìn)制互算)

    我們?cè)谑褂眯吕宋⒉〢PI時(shí),有時(shí)需要得到一個(gè)微博的url,但是如statuses/public_timeline等接口中取得的微博status的字段中并沒有包含
    2014-04-04
  • 基于打開pycharm有帶圖片md文件卡死問題的解決

    基于打開pycharm有帶圖片md文件卡死問題的解決

    這篇文章主要介紹了基于打開pycharm有帶圖片md文件卡死問題的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python+folium繪制精美地圖的示例詳解

    Python+folium繪制精美地圖的示例詳解

    folium是一個(gè)基于leaflet.js的python地圖庫,可以通過folium來操縱數(shù)據(jù),并將其可視化。本文將通過各種示例詳細(xì)講解如何利用folium繪制精美地圖,需要的可以參考一下
    2022-03-03
  • python使用7z解壓apk包的方法

    python使用7z解壓apk包的方法

    這篇文章主要介紹了python使用7z解壓apk包的方法,涉及Python的shell命令調(diào)用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • Python代碼解決RenderView窗口not found問題

    Python代碼解決RenderView窗口not found問題

    這篇文章主要介紹了Python代碼解決RenderView窗口not found問題,需要的朋友可以參考下
    2016-08-08
  • 復(fù)制粘貼功能的Python程序

    復(fù)制粘貼功能的Python程序

    接下來,由于我覺得手動(dòng)復(fù)制粘貼這29000條插入語句實(shí)在是太痛苦了,所以打算用Python來完成這項(xiàng)工作。這是我第一次自己動(dòng)手寫Python代碼,感覺還挺順利的。
    2008-04-04
  • Python版名片管理系統(tǒng)

    Python版名片管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Python版名片管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • Python2.x版本中maketrans()方法的使用介紹

    Python2.x版本中maketrans()方法的使用介紹

    這篇文章主要介紹了Python2.x版本中maketrans()方法的使用介紹,是Python學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • Python數(shù)據(jù)分析之使用scikit-learn構(gòu)建模型

    Python數(shù)據(jù)分析之使用scikit-learn構(gòu)建模型

    這篇文章主要介紹了Python數(shù)據(jù)分析之使用scikit-learn構(gòu)建模型,sklearn提供了model_selection模型選擇模塊、preprocessing數(shù)據(jù)預(yù)處理模塊、decompisition特征分解模塊,更多相關(guān)內(nèi)容需要朋友可以參考下面文章內(nèi)容
    2022-08-08

最新評(píng)論

霍山县| 招远市| 牡丹江市| 教育| 辽阳县| 长兴县| 穆棱市| 克山县| 兰西县| 成安县| 巍山| 黄大仙区| 兖州市| 阳江市| 潜山县| 孟连| 积石山| 普安县| 雅江县| 桂阳县| 湘潭县| 阳曲县| 大竹县| 太康县| 保德县| 雅江县| 广德县| 桓仁| 沂源县| 江华| 南雄市| 额济纳旗| 阿坝县| 衡水市| 远安县| 察雅县| 铅山县| 贺兰县| 平舆县| 陆良县| 黄浦区|