網站首頁 編程語言 正文
實驗環境:
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
相關推薦
- 2022-06-26 python數據處理之Pandas類型轉換的實現_python
- 2022-09-13 c++實現排序算法之希爾排序方式_C 語言
- 2024-01-06 Springboot 啟動報錯 The bean ‘xxxx‘, defined in class
- 2022-08-07 GoFrame框架gredis優雅的取值和類型轉換_Golang
- 2022-05-15 Python?文本文件與csv文件的讀取與寫入_python
- 2023-04-12 Docker?login和logout的使用_docker
- 2022-07-12 mac端口號被占用解決辦法
- 2022-12-21 Android?ChipGroup收起折疊效果實現詳解_Android
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支