網絡上說,目前最火的開發語言是Python,它的功能強大而且應用範圍很廣,恰好最近要作一個小項目,就是經過一個小程序來管理交換機,因而在網絡找資料來學習。python
如今網絡發達,學一門編程語言太容易了,遇到問題找資料容易,不像之前資料少,爲了找一個API的使用說明都費勁。sql
學Python麻煩之一是搭建編程環境,下載和安裝相應的插件,好在有網絡,終會解決。數據庫
一、Python版本衆多,我下載了3.八、3.9,安裝後不太順利,換成3.7就行了,穩定。編程
二、開發工具是PyCharm,咱們使用的是代理上網,折騰插件很費勁。小程序
三、Pymssql的安裝在pycharm中安裝不順利,反覆折騰,後來使用在dos下安裝,即pip install pymssql-2.1.5-cp37-cp37m-win_amd64.whl。網絡
四、重啓了幾回的pycharm才安裝好,惋惜沒代碼提示,可是能夠編程了。編程語言
五、亂碼,最後在獲取字段(字符串)的後面加.encode('latin1').decode('gbk'))就能夠正常顯示了。ide
六、有用的網址:工具
● https://docs.python.org/zh-cn/3/學習
● https://docs.python.org/zh-cn/3.7/library/
● https://pypi.org/project/paramiko/#files
● https://riverbankcomputing.com/software/pyqt/download
創建鏈接很容易,對數據記錄的操做是經過遊標進行的。
下面是成功的代碼:
import pymssql # 對MS SQL Server的操做
import sys
print(sys.getdefaultencoding())
DBSeverIP="1.2.3.4"
DBUser="user"
DBPassword="pass"
DBDatabase="mineDB"
DBCharset="utf-8"
DBConn=pymssql.connect(DBSeverIP,DBUser,DBPassword,DBDatabase,DBCharset)
if DBConn:
print("數據庫鏈接成功!")
DBCursor=DBConn.cursor()
StrInsertSQL="insert into HaoRTable values(%s,%s,%s,%s,%s,%s)"
DBCursor.execute(StrInsertSQL,("777","777","23","24","25","26"))
DBConn.commit()
StrInsertSQL="delete from HaoRTable where c01=%s"
DBCursor.execute(StrInsertSQL,("44"))
DBConn.commit()
StrUpdateSQL="update HaoRTable set c02=%s where c01=%s"
DBCursor.execute(StrUpdateSQL,("新的表","33"))
DBConn.commit()
StrQuerySQL="select * from HaoRTable"
DBQueryResult=DBCursor.execute(StrQuerySQL)
DBTable=DBCursor.fetchall()
for i in range(len(DBTable)):
print("第{}行".format(i),DBTable[i][1].encode('latin1').decode('gbk'),DBTable[i][2].encode('latin1').decode('gbk'),DBTable[i][3].encode('latin1').decode('gbk'))
print("第{}行".format(i),DBTable[i][0],DBTable[i][1].encode('latin1').decode('gbk'),DBTable[i][2].encode('latin1').decode('gbk'))
DBQueryResult=DBCursor.execute(StrQuerySQL)
DBTableRow=DBCursor.fetchone()
while DBTableRow:
print(DBTableRow[1].encode('latin1').decode('gbk'),DBTableRow[2].encode('latin1').decode('gbk'),DBTableRow[3].encode('latin1').decode('gbk'))
DBTableRow=DBCursor.fetchone()
DBCursor.close() #關閉遊標DBConn.close() #關閉數據庫鏈接