Python3连接SQL Server数据库:pymssql模块实战与封装

阿橙
阿橙
发布时间:2026-10-12 | 5人浏览过
原创

本文详细讲解如何使用Python3通过pymssql模块连接SQL Server数据库。内容涵盖环境安装、连接配置(含身份验证注意事项)、数据查询与插入的完整代码示例,以及基于类的数据库操作封装方法,帮助开发者快速掌握Python与SQL Server的交互技巧。

环境准备与模块安装

在Python中操作SQL Server数据库,通常使用 pymssql 模块。首先需要通过pip安装该模块:

pip install pymssql

建立数据库连接

连接SQL Server数据库需要指定主机地址、用户名、密码、数据库名以及字符集。以下是一个基础的连接示例:

import pymssql

conn = pymssql.connect(host='127.0.0.1',
            user='sa',
            password='123',
            database='SQLTest',
            charset='utf8')

注意:如果Windows系统默认使用Windows身份验证,可能需要改为SQL Server验证方式才能通过上述代码连接。

执行数据查询

连接成功后,可以通过游标(Cursor)执行SQL语句。以下示例演示如何查询 student 表中的所有数据:

#查看连接是否成功
cursor = conn.cursor()
sql = 'select * from student'
cursor.execute(sql)
#用一个rs变量获取数据
rs = cursor.fetchall()

print(rs)

执行数据插入与事务处理

对于插入、更新或删除操作,必须使用事务管理以确保数据一致性。以下示例展示了如何安全地执行插入操作:

try:
  conn = pymssql.connect(host='127.0.0.1',
              user='sa',
              password='123',
              database='SQLTest',
              charset='utf8')
  cursor = conn.cursor()
  sql = 'insert into student values('0001', '张三', 18, '男', '文学院')'
  cursor.execute(sql)
  conn.commit()
except Exception as ex:
  conn.rollback()
  raise ex
finally:
  conn.close()

在上述代码中,如果插入操作成功,则提交事务(conn.commit());如果发生异常,则回滚事务(conn.rollback())并抛出异常。无论成功与否,最终都会关闭数据库连接。

封装数据库操作类

为了在项目中更好地复用数据库连接逻辑,可以将上述操作封装为一个类。以下是一个简单的 TestDB 类示例:

'''
  TestDB类
  功能:测试数据库的类写法
  作者:PyLearn
  博客: http://www.cnblogs.com/PyLearn/
  最后修改日期: 2017/10/17
'''
import pymssql

class TestDB():

  def __init__(self):
    try:
      self.conn = pymssql.connect(host='127.0.0.1',
                    user='sa',
                    password='123',
                    database='SQLTest',
                    charset='utf8')
      self.cursor = self.conn.cursor()
      self.sql = "insert into student values('0001', '张三', 18, '男', '文学院')"
      self.cursor.execute(self.sql)
      self.conn.commit()
    except Exception as ex:
      self.conn.rollback()
      raise ex
    finally:
      self.conn.close()

if __name__ == '__main__':
  test_DB = TestDB()

该 TestDB 类在初始化时自动连接数据库、执行插入操作并提交事务。如果发生异常,则回滚并抛出异常。最后,在 finally 块中关闭数据库连接。

总结

通过本文的讲解,我们了解了如何使用Python3和 pymssql 模块连接SQL Server数据库,并执行了基本的查询和插入操作。同时,我们还学习了如何将数据库操作封装为类,以便在项目中更好地复用。

以上就是Python3操作SQL Server数据库(实例讲解)的详细内容,更多关于Python连接SQL Server数据库的资料请关注本站其它相关文章!

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表