網(wǎng)站首頁 編程語言 正文
實驗環(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
#在官網(wǎng)下載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需要將數(shù)據(jù)庫默認的GBK轉(zhuǎn)化成UTF-8
)
if conn:
print('連接數(shù)據(jù)庫成功!')#測試是否連接上
查詢
#查詢語句
cursor =conn.cursor() #使用cursor()方法獲取操作游標
sql_select="SELECT * FROM STUDENT" #數(shù)據(jù)庫查詢語句
cursor.execute(sql_select) #執(zhí)行語句
results =cursor.fetchall() #獲取所有記錄列表
#print('原始:',end="")
#print(result) #后邊有空格
for result in results:
result= list(result) #元組轉(zhuǎn)化為列表
for res in range (len(result)):
if isinstance(result[res],str):
result[res]=result[res].replace(' ','')解決空格問題
result=tuple(result) #列表再轉(zhuǎn)換為元組
print("處理后:",end="")
print(result)
#
conn.commit()
#關閉數(shù)據(jù)庫
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:
出現(xiàn)查詢結(jié)果亂碼:
解決辦法:
查看sqlserver的編碼:
select COLLATIONPROPERTY('chinese_PRC_Stroke_CI_AI_KS_WS','CodePage')
查詢結(jié)果:
936 簡體中文gbk
950 繁體中文BIG5
437 加拿大/美國 英語
932 日文
949 韓文
866 俄文
總結(jié)
原文鏈接:https://blog.csdn.net/weixin_55945121/article/details/125617085
相關推薦
- 2023-05-29 Python中如何給字典設置默認值_python
- 2022-09-30 C#?wpf?Bitmap轉(zhuǎn)換成WriteableBitmap的方法_C#教程
- 2022-12-15 Golang控制協(xié)程執(zhí)行順序方法詳解_Golang
- 2022-12-25 Flutter開發(fā)通用頁面Loading組件示例詳解_Android
- 2022-08-29 .NET?Core自定義配置文件_實用技巧
- 2022-05-08 python刪除列表元素del,pop(),remove()及clear()_python
- 2022-03-14 Failed to load ApplicationContext
- 2022-11-26 C++無痛實現(xiàn)日期類的示例代碼_C 語言
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支