久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Python連接SQL Server數(shù)據(jù)庫(kù) 增刪改查

 hdzgx 2019-12-28

Pymssql使用

麻煩的是,,經(jīng)常安裝失敗,。需要先下載包,,再在本地進(jìn)行安裝。

pip install pymssql

傳送門:https://www.lfd./~gohlke/pythonlibs/#pymssql

可根據(jù)自己Python的版本來(lái)下載,,之前安裝Python3.7使用有些問(wèn)題

安裝pymssql:

 

pymssql對(duì)數(shù)據(jù)庫(kù)的一些操作:

  1. import pymssql
  2. # server 數(shù)據(jù)庫(kù)服務(wù)器名稱或IP
  3. # user 用戶名
  4. # password 密碼
  5. # database 數(shù)據(jù)庫(kù)名稱
  6. server = "*******"
  7. user = "sa"
  8. password = "*******"
  9. database = "Python"
  10. conn = pymssql.connect(server, user, password, database)
  11. cursor = conn.cursor()
  12. # 新建表
  13. def CreateTable():
  14. sql = """
  15. IF OBJECT_ID('persons', 'U') IS NOT NULL DROP TABLE persons
  16. CREATE TABLE persons (id INT NOT NULL identity(1,1),name VARCHAR(100),age int,PRIMARY KEY(id))
  17. """
  18. cursor.execute(sql)
  19. conn.commit()
  20. # 批量插入數(shù)據(jù)
  21. def InsertData():
  22. sql = "INSERT INTO persons(name,age) VALUES (%s, %d)"
  23. data = [
  24. ('zhangsan', 15),
  25. ('lisi', 16),
  26. ('wangwu T.', 17)]
  27. cursor.executemany(sql, data)
  28. # 如果沒(méi)有指定autocommit屬性為True的話就需要調(diào)用commit()方法
  29. conn.commit()
  30. # 刪除操作
  31. def DeleteData():
  32. sql = "delete persons where id=5"
  33. cursor.execute(sql)
  34. conn.commit()
  35. # 查詢操作
  36. def SelectTable():
  37. sql = "SELECT * FROM persons"
  38. cursor.execute(sql)
  39. row = cursor.fetchone()
  40. while row:
  41. print("ID=%d, Name=%s" % (row[0], row[1]))
  42. row = cursor.fetchone()
  43. # 也可以使用for循環(huán)來(lái)迭代查詢結(jié)果
  44. # for row in cursor:
  45. # print("ID=%d, Name=%s" % (row[0], row[1]))
  46. # 修改操作
  47. def UpdateData():
  48. sql = "update [persons] set name ='Python1' where id<3"
  49. cursor.execute(sql)
  50. conn.commit()
  51. def main():
  52. # CreateTable()
  53. InsertData()
  54. DeleteData()
  55. UpdateData()
  56. SelectTable()
  57. conn.close()
  58. if __name__ == '__main__':
  59. main()
  60. # 關(guān)閉連接

  mssql_helper:

  1. import pymssql
  2. class MSSQL:
  3. def __init__(self,host,user,pwd,db): #類的構(gòu)造函數(shù),初始化數(shù)據(jù)庫(kù)連接ip或者域名,以及用戶名,,密碼,要連接的數(shù)據(jù)庫(kù)名稱
  4. self.host=host
  5. self.user=user
  6. self.pwd=pwd
  7. self.db=db
  8. def __GetConnect(self): #得到數(shù)據(jù)庫(kù)連接信息函數(shù),, 返回: conn.cursor()
  9. self.conn=pymssql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset='utf8')
  10. cur=self.conn.cursor() #將數(shù)據(jù)庫(kù)連接信息,,賦值給cur。
  11. if not cur:
  12. return(NameError,"連接數(shù)據(jù)庫(kù)失敗")
  13. else:
  14. return cur
  15. #執(zhí)行查詢語(yǔ)句,返回的是一個(gè)包含tuple的list,,list的元素是記錄行,,tuple的元素是每行記錄的字段
  16. def ExecQuery(self,sql): #執(zhí)行Sql語(yǔ)句函數(shù),返回結(jié)果
  17. cur = self.__GetConnect() #獲得數(shù)據(jù)庫(kù)連接信息
  18. cur.execute(sql) #執(zhí)行Sql語(yǔ)句
  19. resList = cur.fetchall() #獲得所有的查詢結(jié)果
  20. #查詢完畢后必須關(guān)閉連接
  21. self.conn.close() #返回查詢結(jié)果
  22. return resList
  23. def ExecNonQuery(self,sql):
  24. cur = self.__GetConnect()
  25. cur.execute(sql)
  26. self.conn.commit()
  27. self.conn.close()

使用:

  1. import mssql_helper
  2. server = "********"
  3. user = "sa"
  4. password = "*********"
  5. database = "Python"
  6. mssql =""
  7. def main():
  8. global mssql
  9. mssql = mssql_helper.MSSQL(server,user,password,database)
  10. def test():
  11. rows = mssql.ExecQuery("SELECT * FROM persons")
  12. print(rows)
  13. if __name__ == '__main__':
  14. main()
  15. test()

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多