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

Python連接SQLServer2000的方法詳解

 更新時間:2017年04月19日 10:08:33   作者:不得閑  
這篇文章主要介紹了Python連接SQLServer2000的方法,結合實例形式分析了Python實現(xiàn)數(shù)據(jù)庫連接過程中所遇到的常見問題與相關注意事項,需要的朋友可以參考下

本文實例講述了Python連接SQLServer2000的方法。分享給大家供大家參考,具體如下:

http://pymssql.sourceforge.net/  介紹PYTHON 連接MSSQL的好地址的哦!

Python好的一個方法就是能夠在網(wǎng)上找到很多現(xiàn)成的模塊然后直接下載拿過來用就可以了。具體快速開發(fā)的一個原因也就是這個了?,F(xiàn)在就是主要來研究一個pymssql這個模塊的操作功能了!

可以安裝之后直接查詢幫助文檔進行查看到這個模塊的一些功能幫助文檔。

1.一個解決亂碼問題的方法:

s.decode('gbk', 'ignore')

比如,若要將某個String對象s從gbk內碼轉換為UTF-8,可以如下操作

s.decode('gbk').encode('utf-8')

可是,在實際開發(fā)中,我發(fā)現(xiàn),這種辦法經常會出現(xiàn)異常:

UnicodeDecodeError: 'gbk' codec can't decode bytes in position 30664-30665:    illegal multibyte sequence

這是因為遇到了非法字符——尤其是在某些用C/C++編寫的程序中,全角空格往往有多種不同的實現(xiàn)方式,比如/xa3/xa0,或者/xa4/x57,這 些字符,看起來都是全角空格,但它們并不是“合法”的全角空格(真正的全角空格是/xa1/xa1),因此在轉碼的過程中出現(xiàn)了異常。

幸運的是,tiny找到了完美的解決辦法(我因此被批評看文檔不仔細,汗啊……)

s.decode('gbk', 'ignore').encode('utf-8')

因為decode的函數(shù)原型是decode([encoding], [errors='strict']),可以用第二個參數(shù)控制錯誤處理的策略,默認的參數(shù)就是strict,代表遇到非法字符時拋出異常;

  如果設置為ignore,則會忽略非法字符;
  如果設置為replace,則會用?取代非法字符;
  如果設置為xmlcharrefreplace,則使用XML的字符引用。

這個方法幫助確實 是相當大的哦。對于那種在數(shù)據(jù)庫中存儲了全角與半角的非法字符的問題可以這樣來進行解決處理的哦!

字符編碼問題永遠是一個讓人頭疼的問題哈哈!

2.http://www.python.org/dev/peps/pep-0249/

上面提供了Python-DBAPI的常用操作功能。

總結出來相關的API操作方法:

3.總結出來Python連接數(shù)據(jù)庫的一般程序過程是這樣來寫的:

第一步:導入相關的模塊

其中MYSQL:

import MySQLdb

其中MSSQL:

import pymssql

第二步:打開連接

其中MYSQL:

conn = MySQLdb.connect(self.dbhost,self.dbuser,self.dbpasswd,self.database)

其中MSSQL:

conn = pymssql.connect(host=self.dbhost,user=self.dbuser,password=self.dbpasswd,database=self.database)

[通過本身的函數(shù)原型來定義出來這個方法的]

第三步:連接完了之后就要開始創(chuàng)建一個cursor了。通過這個對象來對數(shù)據(jù)庫發(fā)送一個請求操作。

代碼:

curs = conn.cursor()

相當于JAVA中的Statement對象一樣的。通過語句來進行提交SQL命令的

第四步:開始發(fā)送SQL命令到數(shù)據(jù)庫服務器了,可以這樣來做

curs.execute(SQL)

例如:

curs.execute("select * from test")

其中的SQL命令可以是任意的SQL語句 可以是執(zhí)行INSERT 操作或DELETE操作也可以是SELECT操作的

要注意到 執(zhí)行完了之后要進行commit()提交一次的。

例如:

cursor.execute("insert into test(id) values(1)")

如果是執(zhí)行了SELECT操作的話就要進行第五步操作了:

第五步:

curs.execute("select * from test")
rows = curs.fetchall()

其中的fetchall()只是我們的cursor對象的一個方法而已的。

現(xiàn)在就可以提取出來相關信息了

for i in range(len(rows)):
  print "Row",i,"name",rows[i][0],"value",rows[i][1]

看我寫的代碼:

def test(self):
    conn = self.connect()
    sql="select * from bbs where id<20"
    curs = conn.cursor()  #得到一個游標對象
    curs.execute(sql)    #執(zhí)行一個SQL語句
    rows=curs.fetchall()  #得到全部的查詢結果集
    for i in range(len(rows)): #
      print "Row",i,"name",rows[i][3],"value",rows[i][4]
    conn.close()

我明白了:通過這樣的方法的話  得到的一行記錄其實是一個元組的數(shù)據(jù)結構的。

要取其中的一個可以用一個類似兩維數(shù)組的方法進行查詢出來的。

rows[1][0]:表示第一條記錄中的第一個位置的值的。

然后再來看看 將其從數(shù)據(jù)庫中提取出來之后進行編碼處理與解碼處理

for i in range(len(rows)):
      print rows[i][4].decode('gb2312', 'ignore').encode('gb2312')

以后操作數(shù)據(jù)庫的話就可以直接這樣來寫代碼的了!

http://pymssql.sourceforge.net/userguide.html 有詳細的幫助說明文檔的

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python常見數(shù)據(jù)庫操作技巧匯總》、《Python編碼操作技巧總結》、《Python圖片操作技巧總結》、《Python數(shù)據(jù)結構與算法教程》、《Python Socket編程技巧總結》、《Python函數(shù)使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設計有所幫助。

相關文章

  • Python基礎類繼承重寫實現(xiàn)原理解析

    Python基礎類繼承重寫實現(xiàn)原理解析

    這篇文章主要介紹了Python基礎類繼承重寫實現(xiàn)原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • python sklearn中tsne算法降維結果不一致問題的解決方法

    python sklearn中tsne算法降維結果不一致問題的解決方法

    最近在做一個文本聚類的分析,在對文本數(shù)據(jù)embedding后,想著看下數(shù)據(jù)的分布,于是用sklearn的TSNE算法來降維embedding后的數(shù)據(jù)結果,當在多次執(zhí)行后,竟發(fā)現(xiàn)TSNE的結果竟然變了,而且每次都不一樣,所以本文就給大家講講如何解決sklearn中tsne算法降維結果不一致的問題
    2023-10-10
  • Python如何爬取b站熱門視頻并導入Excel

    Python如何爬取b站熱門視頻并導入Excel

    這篇文章主要介紹了Python如何爬取b站熱門視頻并導入Excel,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • Python中time與datetime模塊使用方法詳解

    Python中time與datetime模塊使用方法詳解

    這篇文章主要為大家詳細介紹了Python中time與datetime模塊使用方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • pandas中apply和transform方法的性能比較及區(qū)別介紹

    pandas中apply和transform方法的性能比較及區(qū)別介紹

    這篇文章主要介紹了pandas中apply和transform方法的性能比較,在文中給大家講解了apply() 與transform()的相同點與不同點,需要的朋友可以參考下
    2018-10-10
  • 使用python中的in ,not in來檢查元素是不是在列表中的方法

    使用python中的in ,not in來檢查元素是不是在列表中的方法

    今天小編就為大家分享一篇使用python中的in ,not in來檢查元素是不是在列表中的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • 如何在python中實現(xiàn)隨機選擇

    如何在python中實現(xiàn)隨機選擇

    這篇文章主要介紹了如何在python中實現(xiàn)隨機選擇,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • Python中出現(xiàn)IndentationError:unindent does not match any outer indentation level錯誤的解決方法

    Python中出現(xiàn)IndentationError:unindent does not match any outer

    今天在網(wǎng)上copy的一段代碼,代碼很簡單,每行看起來該縮進的都縮進了,運行的時候出現(xiàn)了如下錯誤,IndentationError: unindent does not match any outer indentation level,如果看起來縮進正常所有tab與空格混用就會出現(xiàn)這個問題
    2019-01-01
  • postman模擬訪問具有Session的post請求方法

    postman模擬訪問具有Session的post請求方法

    今天小編就為大家分享一篇postman模擬訪問具有Session的post請求方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • 詳解Python中httptools模塊的使用

    詳解Python中httptools模塊的使用

    httptools?是一個?HTTP?解析器,它首先提供了一個?parse_url?函數(shù),用來解析?URL。這篇文章就來和大家聊聊它的用法吧,感興趣的可以了解一下
    2023-03-03

最新評論

含山县| 阿勒泰市| 九龙城区| 尼玛县| 永福县| 大冶市| 明光市| 泽库县| 紫阳县| 布拖县| 汽车| 宾阳县| 靖宇县| 郎溪县| 乐平市| 无极县| 登封市| 密云县| 揭东县| 宝坻区| 泗阳县| 巴彦县| 扶沟县| 宕昌县| 合肥市| 商水县| 襄城县| 西藏| 扎鲁特旗| 湖南省| 阳新县| 伊金霍洛旗| 霍林郭勒市| 溧阳市| 河间市| 邵阳市| 辛集市| 荔浦县| 黑龙江省| 永吉县| 和平区|