一文教會你用python連接并簡單操作SQLserver數據庫
更新時間:2022年09月15日 11:58:05 作者:鯊魚啵啵霸
最近要將數據寫到數據庫里,學習了一下如何用Python來操作SQLServer數據庫,下面這篇文章主要給大家介紹了關于用python連接并簡單操作SQLserver數據庫的相關資料,需要的朋友可以參考下
實驗環(huán)境:
python版本3.9
Python 3.9.7 (tags/v3.9.7:1016ef3, Aug 30 2021, 20:19:38) [MSC v.1929 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>>
SQLserver版本2019
exec xp_msver
基本步驟:
安裝pymssql模塊
#pip 安裝pymssql (python3.6以上直接安裝不上) pip install pymssql
#在官網下載pymssql對應版本,在當前文件夾下 https://pypi.org/project/pymssql/ pip install pymssql-2.2.4-cp39-cp39-win_amd64.whl
編寫代碼
sqlserver.py
#coding=utf-8 #settng設置全局為utf—8格式 #導包 import pymssql #創(chuàng)建連接字符串 (sqlserver默認端口為1433) conn =pymssql.connect(host='localhost', #這里的host='_'可以用本機ip或ip+端口號 server="******",#本地服務器 port="1433",#TCP端口 user="sa",password="******", database="******", charset="GBK" #這里設置全局的GBK,如果設置的是UTF—8需要將數據庫默認的GBK轉化成UTF-8 ) if conn: print('連接數據庫成功!')#測試是否連接上
查詢
#查詢語句 cursor =conn.cursor() #使用cursor()方法獲取操作游標 sql_select="SELECT * FROM STUDENT" #數據庫查詢語句 cursor.execute(sql_select) #執(zhí)行語句 results =cursor.fetchall() #獲取所有記錄列表 #print('原始:',end="") #print(result) #后邊有空格 for result in results: result= list(result) #元組轉化為列表 for res in range (len(result)): if isinstance(result[res],str): result[res]=result[res].replace(' ','')解決空格問題 result=tuple(result) #列表再轉換為元組 print("處理后:",end="") print(result) # conn.commit() #關閉數據庫 conn.close()
原始:
處理后:
插入
#插入語句 cursor =conn.cursor() sql_insert="insert into student values(990031,'wang',20,'男','bb','aa')" cursor.execute(sql_insert) conn.commit() conn.close()
更新
#更新語句 cursor =conn.cursor() sql_update="update student set AGE=21 where SNO='990031' " cursor.execute(sql_update) conn.commit() conn.close()
刪除語句
#刪除語句 cursor =conn.cursor() sql_delete="delete from student where sno='990031'" cursor.execute(sql_delete) conn.commit() conn.close()
增加表
#新建表 cursor =conn.cursor() sql_create="""create table table_student(SNO int primary key not null,SNAME varchar(100),SDEPT varchar(100),BPLACE varchar(100))""" cursor.execute(sql_create) conn.commit() conn.close()
錯誤1:
報錯
原因
沒有把TCP/IP協(xié)議打開
查看TCP端口位置:
保證TCP/IP開啟:
開啟之后,服務,重新啟動服務
錯誤2:
出現查詢結果亂碼:
解決辦法:
查看sqlserver的編碼:
select COLLATIONPROPERTY('chinese_PRC_Stroke_CI_AI_KS_WS','CodePage')
查詢結果:
936 簡體中文gbk
950 繁體中文BIG5
437 加拿大/美國 英語
932 日文
949 韓文
866 俄文
總結
到此這篇關于python連接并簡單操作SQLserver數據庫的文章就介紹到這了,更多相關python連接操作SQLserver數據庫內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
pytorch 實現在一個優(yōu)化器中設置多個網絡參數的例子
今天小編就為大家分享一篇pytorch 實現在一個優(yōu)化器中設置多個網絡參數的例子,具有很好參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02