❶ python3 連接 sql server 2014
真巧,剛剛做過,鏈接的也是MSSQL2014的資料庫,並且測試是成功的
importpymssql
conn=pymssql.connect(host='主機名或IP',user='資料庫用戶名',password='資料庫用戶密碼',database='資料庫名',charset='utf8')
cursor=conn.cursor()
ifnotcursor:
raise(NameError,"連接資料庫失敗")
strsql="select*from表"
try:
cursor.execute(strsql)#執行SQL語句
conn.commit()#修改數據後提交事務
except:
print(0,"錯誤:"+strsql)
pass
finally:
print(l,"成功!")
pass
cursor.close()#關閉對象
conn.close()#關閉資料庫連接
import pymssql這句話必須有,主要是pymssql必須要安裝上,可以使用pip list來查看是否安裝
❷ 在python3下怎樣用flask-sqlalchemy對mysql資料庫操作
在Python3中,使用Flask-SQLAlchemy操作MySQL資料庫時,開發者經常面臨挑戰。許多教程專注於SQLite,而實際應用中通常使用MySQL或其他資料庫,這導致新手難以直接將教程內容應用到實際項目中。
問題在於Python和MySQL之間缺乏直接交互,因此需要一種翻譯工具,即中間代理,讓它們能夠互相理解。常見的選擇是flask-mysqldb,它實際上依賴於MySQL-python作為其核心功能。
然而,另一種選擇是PyMySQL,它可以提供非同步操作,這對於高訪問量的網站尤為重要。安裝PyMySQL的方式為:pip install PyMySQL
之後,資料庫連接代碼可以更改為:
這樣,開發者就能夠利用PyMySQL與MySQL資料庫進行有效交互,實現流暢的資料庫操作。
為了更深入地理解資料庫操作與Flask-SQLAlchemy集成,請參考SQLAlchemy 1.0的MySQL文檔:MySQL — SQLAlchemy 1.0 Documentation。
❸ python3連接MSSQL資料庫 中文亂碼怎麼解決
以前用php連mssqy時也經常出現中文亂碼(中文變問號)的問題,那時就明白是編碼沒設置好導航,現在的Python連mssql資料庫也同樣出現這問題,問題一樣,解決的辦法當然也會相似,現在我們來看看解決方法。
python一直對中文支持的不好,最近老遇到編碼問題,而且幾乎沒有通用的方案來解決這個問題,但是對常見的方法都試過之後,發現還是可以解決的,下面總結了常用的支持中文的編碼問題(這些方法中可能其中一個就能解決問題,也可能是多個組合)。
(1)、首先,要保證文件的開頭要加上編碼設置來說明文件的編碼
代碼如下
復制代碼
#encoding=utf-8
(2)、然後,在連接數據的連接參數里加上字元集說明查詢出的結果的編碼,這個不加的後果可能是查詢出的漢字字元都是問號
代碼如下
復制代碼
conn=pymssql.connect(server='.',user='', password='',database='MyTest',charset='utf8')
(3)、設置python系統的默認編碼(對於文件來說,這招幾乎屢試不爽,呵呵~~)
代碼如下
復制代碼
import sys
reload(sys)
sys.setdefaultencoding('utf8')
注意:上述編碼是「utf8」,而不是「utf-8」,我也沒弄明白,大部分情況下,這個無所謂的,但是這里我試了必須要是「utf8」
一個簡單的完整的python連接mssqlserver的例子如下(得安裝pymssql包):
代碼如下
復制代碼
#encoding:utf8
import sys
reload(sys)
sys.setdefaultencoding('utf8')
import pymssql
try:
conn=pymssql.connect(server='.',user='', password='',database='MyTest',charset='utf8')
sql="select * from UserInfo"
cur=conn.cursor()
cur.execute(sql)
data=cur.fetchall()
conn.close()
print data
except Exception,e:
print e
運行結果如下:
代碼如下
復制代碼
[(u'20093501', u'xb9xf9xbexb8', u'u7537 ', 35, u'xb4xf3xcfxc0'),
(u'20093502', u'xbbxc6xc8xd8', u'u5973 ', 34, u'xc3xc0xc5xae'),
(u'20093503', u'xc1xeexbaxfcxb3xe5', u'u7537 ', 25, u'2Bxc7xe0xc4xea'),
(u'20093504', u'xc8xcexd3xafxd3xaf', u'u5973 ', 24, u'xc6xafxc1xc1')]
[Finished in 0.2s]
雖然擺脫了問號和亂碼的困擾,但這仍不是我們想要的結果,但這個確實是正確的,因為結果是utf8編碼。這個現象確實詭異,請教了許多高手,得知,最好的結果就是逐個欄位查詢,才能顯示中文,整個查詢的話,會以utf8的格式顯示出來。
上述代碼中第14行data是整個查詢的結果,如果指定某個具體的欄位,如print data[0][2](表示取查詢結果的第一行第三列的欄位的值),則會輸出中文。
其實不僅僅是mssqlserver資料庫,mysql(需下載MySQLdb包)、sqllite(python自帶的文件資料庫)、mongodb(需下載PyMongo包)等或者是普通文本文件也是類似的解決方案。
❹ 如何使用Python3.4連接MySQL
1、首先下載mysql 資料庫,我安裝的是mysql5.1版本,直接安裝就行,但是如果以後你想在資料庫里顯示中文的話,要把字元集設置為gb2312
2、配置數據源odbc。 mysql-connector-odbc-3.51.20-win32.exe(這是mysql數據源dobc安裝程序),配置odbc過程可以參考 http://jingyan..com/article/8065f87f38b31423312498e4.html
3、安裝mysql管理工具,Navicat for MySQL,打開navicat 後要連接資料庫,具體做法是:在navicat中新建連接,將常規設置填好,如果是訪問本地資料庫,主機名或iP地址可填寫:localhost 或127.0.0.1 有時候只有填其中一個好使另一個則不好使,(筆者這里沒仔細研究)注意!Navicat for MySQL資料庫連接之前要開啟mysql資料庫(服務)...。
4、在navicat中新建的連接中就可以連接mysql資料庫了
5、現在可以導入外部資料庫表,或者自己建立表了,這里談一下筆者在導入外部表時遇到的問題,首先是字元編碼的問題,在mysql安裝的過程中雖然字元編碼設置為gb2312但是在navicat中帶有中文的數據表表(比如excel表)還是無法導入進navicat的資料庫表中,那是因為雖然在mysql裡面設置了字元編碼但是在navicat中沒有設置字元編碼為gb2312,需要在navicat中右鍵資料庫,選擇資料庫屬性把裡面的字元編碼設置成為gb2312方可!
6、至於導入表可以右鍵資料庫中的表選擇導入向導,很容易操作,導出的問題此處不介紹。
7、到現在為止數據的搭建已經結束。
這是我自己總結過的 很好用的 希望採納
❺ python3.4怎麼連接mysql pymysql連接mysql資料庫
1、python安裝目錄設定為d:/python34
2、pymysql安裝方法為:解壓下載的文件,在cmd中運行: python setup.py install。
檢驗安裝安裝是否成功的方法:import pymysql 。 如果不報錯 說明安裝成功。
3、mysql安裝目錄為D:/phpStudy/MySQL。為避免更多配置問題,可在啟動phpstudy後,將其設為系統服務
4、基本操作:
(1)導入pymysql: import pymysql
(2)連接資料庫:
conn=pymysql.connect(host='localhost',user='root',passwd='root',db='ere',charset='utf8')
務必注意各等號前面的內容!charset參數可避免中文亂碼
(3)獲取操作游標:cur=conn.cursor()
(4)執行sql語句,插入記錄:sta=cur.execute("insert 語句") 執行成功後sta值為1。更新、刪除語句與此類似。
(5)執行sql語句,查詢記錄:cur.execute("select語句") 執行成功後cur變數中保存了查詢結果記錄集,然後再用循環列印結果:
for each in cur:
print(each[1].decode('utf-8')) # each[1] 表示當前游標所在行的的第2列值,如果是中文則需要處理編碼