一文教会你用python连接并简单操作SQLserver数据库

目录

实验环境:

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 

一文教会你用python连接并简单操作SQLserver数据库

基本步骤:

安装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()

原始:

一文教会你用python连接并简单操作SQLserver数据库

处理后:

一文教会你用python连接并简单操作SQLserver数据库

插入

#插入语句
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:

报错

一文教会你用python连接并简单操作SQLserver数据库

原因

没有把TCP/IP协议打开

查看TCP端口位置:

一文教会你用python连接并简单操作SQLserver数据库

保证TCP/IP开启:

开启之后,服务,重新启动服务

一文教会你用python连接并简单操作SQLserver数据库

一文教会你用python连接并简单操作SQLserver数据库

错误2:

出现查询结果乱码:

解决办法:

查看sqlserver的编码:

select COLLATIONPROPERTY(\'chinese_PRC_Stroke_CI_AI_KS_WS\',\'CodePage\')

一文教会你用python连接并简单操作SQLserver数据库

查询结果:

936 简体中文gbk

950 繁体中文BIG5

437 加拿大/美国 英语

932 日文

949 韩文

866 俄文

总结

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容