日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

一文教會你用python連接并簡單操作SQLserver數據庫_python

作者:鯊魚啵啵霸 ? 更新時間: 2022-11-07 編程語言

實驗環境:

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
#創建連接字符串  (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) #執行語句
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協議打開

查看TCP端口位置:

保證TCP/IP開啟:

開啟之后,服務,重新啟動服務

錯誤2:

出現查詢結果亂碼:

解決辦法:

查看sqlserver的編碼:

select COLLATIONPROPERTY('chinese_PRC_Stroke_CI_AI_KS_WS','CodePage')

查詢結果:

936 簡體中文gbk

950 繁體中文BIG5

437 加拿大/美國 英語

932 日文

949 韓文

866 俄文

總結

原文鏈接:https://blog.csdn.net/weixin_55945121/article/details/125617085

欄目分類
最近更新