Skip to main content
PyCon US is happening May 14th-22nd in Pittsburgh, PA USA.  Learn more

DB-API interface to Microsoft SQL Server for Python. (new Cython-based version)

Project description

pymssql - DB-API interface to Microsoft SQL Server

https://github.com/pymssql/pymssql/workflows/Linux/badge.svg https://github.com/pymssql/pymssql/workflows/macOS/badge.svg https://github.com/pymssql/pymssql/workflows/Windows/badge.svg http://img.shields.io/pypi/dm/pymssql.svg http://img.shields.io/pypi/v/pymssql.svg

A simple database interface for Python that builds on top of FreeTDS to provide a Python DB-API (PEP-249) interface to Microsoft SQL Server.

Detailed information on pymssql is available on the website:

pymssql.readthedocs.io

New development is happening on GitHub at:

github.com/pymssql/pymssql

There is a Google Group for discussion at:

groups.google.com

Getting started

pymssql wheels are available from PyPi. To install it run:

pip install -U pip
pip install pymssql

Most of the times this should be all what’s needed. The official pymssql wheels bundle a static copy of FreeTDS and have SSL support so they can be used to connect to Azure.

Basic example

conn = pymssql.connect(server, user, password, "tempdb")
cursor = conn.cursor(as_dict=True)

cursor.execute('SELECT * FROM persons WHERE salesrep=%s', 'John Doe')
for row in cursor:
    print("ID=%d, Name=%s" % (row['id'], row['name']))

conn.close()

Recent Changes

Version 2.3.4 - 2025-04-01 - Mikhail Terekhov

General

  • Update packaging to fix metadata, thanks to AbigailColwell.

Version 2.3.3 - 2025-03-31 - Mikhail Terekhov

General

  • Update FreeTDS to 1.4.26.

  • Add py.typed which marks pymssql as suporting typechecks, thanks Niklas Mertsch (closes #925).

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page