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

 更新时间:2022年09月15日 11:58:05   作者:鲨鱼啵啵霸  
最近要将数据写到数据库里,学习了一下如何用Python来操作SQLServer数据库,下面这篇文章主要给大家介绍了关于用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 

基本步骤:

安装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 俄文

总结

到此这篇关于python连接并简单操作SQLserver数据库的文章就介绍到这了,更多相关python连接操作SQLserver数据库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python利用itchat对微信中好友数据实现简单分析的方法

    Python利用itchat对微信中好友数据实现简单分析的方法

    Python 热度一直很高,我感觉这就是得益于拥有大量的包资源,极大的方便了开发人员的需求。下面这篇文章主要给大家介绍了关于Python利用itchat实现对微信中好友数据进行简单分析的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。
    2017-11-11
  • 详解python pandas 分组统计的方法

    详解python pandas 分组统计的方法

    这篇文章主要介绍了详解pandas python 分组统计的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Django中常用的查询数据方法及查询对象的条件详解

    Django中常用的查询数据方法及查询对象的条件详解

    在web 开发过程中,Django 与后台数据库的交互是必不可少的一项,也是实现业务逻辑所需数据的重要方式,这篇文章主要给大家介绍了关于Django中常用的查询数据方法及查询对象条件的相关资料,需要的朋友可以参考下
    2021-09-09
  • 粗略分析Python中的内存泄漏

    粗略分析Python中的内存泄漏

    这篇文章主要介绍了粗略分析Python中的内存泄漏,分析了包括在垃圾回收时产生等的原因,需要的朋友可以参考下
    2015-04-04
  • python远控代码的教程详解

    python远控代码的教程详解

    大家远控还在用软件吗,其实几行代码轻松搞定,这篇文章小编就来和大家介绍一下如何使用Python实现远程控制代码,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-12-12
  • Python求均值,方差,标准差的实例

    Python求均值,方差,标准差的实例

    今天小编就为大家分享一篇Python求均值,方差,标准差的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • Python使用tkinter写一个本地密码管理器

    Python使用tkinter写一个本地密码管理器

    闲来无事,看到自己有很多网站的账户密码,有些网站可能打开一两次也就忘记了,下一次在输入账户密码就想不起来,这样很容易丢失账号。所以本文就来用Python和tkinter写一个本地密码管理器吧
    2023-05-05
  • Python绘图之实现绘制极坐标图像

    Python绘图之实现绘制极坐标图像

    这篇文章主要介绍了如何利用python绘制极坐标图像,文中的示例代码讲解详细,具有一定的的参考价值,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-08-08
  • OpenCV实现图像滤波之双边滤波

    OpenCV实现图像滤波之双边滤波

    这篇文章主要为大家详细介绍了OpenCV实现图像滤波之双边滤波,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • 基于PyQt5完成的PDF拆分功能

    基于PyQt5完成的PDF拆分功能

    这篇文章主要介绍了基于PyQt5完成的PDF拆分功能,本文介绍的pdf拆分功能还有一些待完善地方,例如可增加预览功能,实现每页预览,以及如何实现多条件拆分,需要的朋友可以参考下
    2022-06-06

最新评论