如何通过Python轻松连接并操作SQL Server数据库?

2026-04-30 15:191阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计798个文字,预计阅读时间需要4分钟。

如何通过Python轻松连接并操作SQL Server数据库?

目录+实验环境:+基本步骤:+安装pymssql模块+编写代码+错误1:+报错+原因+错误2:+总结+实验环境:+Python 3.9.7+Windows 3(MSC v.1929 64 bit)

目录
  • 实验环境:
  • 基本步骤:
    • 安装pymssql模块
    • 编写代码
  • 错误1:
    • 报错
    • 原因
  • 错误2:
    • 总结

      实验环境:

      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对应版本,在当前文件夹下 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开启:

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

      如何通过Python轻松连接并操作SQL Server数据库?

      错误2:

      出现查询结果乱码:

      解决办法:

      查看sqlserver的编码:

      select COLLATIONPROPERTY('chinese_PRC_Stroke_CI_AI_KS_WS','CodePage')

      查询结果:

      936 简体中文gbk

      950 繁体中文BIG5

      437 加拿大/美国 英语

      932 日文

      949 韩文

      866 俄文

      总结

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

      本文共计798个文字,预计阅读时间需要4分钟。

      如何通过Python轻松连接并操作SQL Server数据库?

      目录+实验环境:+基本步骤:+安装pymssql模块+编写代码+错误1:+报错+原因+错误2:+总结+实验环境:+Python 3.9.7+Windows 3(MSC v.1929 64 bit)

      目录
      • 实验环境:
      • 基本步骤:
        • 安装pymssql模块
        • 编写代码
      • 错误1:
        • 报错
        • 原因
      • 错误2:
        • 总结

          实验环境:

          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对应版本,在当前文件夹下 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开启:

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

          如何通过Python轻松连接并操作SQL Server数据库?

          错误2:

          出现查询结果乱码:

          解决办法:

          查看sqlserver的编码:

          select COLLATIONPROPERTY('chinese_PRC_Stroke_CI_AI_KS_WS','CodePage')

          查询结果:

          936 简体中文gbk

          950 繁体中文BIG5

          437 加拿大/美国 英语

          932 日文

          949 韩文

          866 俄文

          总结

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