Skip to content

Latest commit

 

History

History
158 lines (104 loc) · 5.75 KB

File metadata and controls

158 lines (104 loc) · 5.75 KB
title Use Python to Query a Database
titleSuffix Azure SQL Database & Azure SQL Managed Instance
description This article shows you how to use Python to create a program that connects to a database in Azure SQL Database and query it using Transact-SQL statements.
author dlevy-msft-sql
ms.author dlevy
ms.reviewer wiassaf, mathoma, randolphwest
ms.date 09/10/2025
ms.service azure-sql
ms.subservice connect
ms.topic quickstart
ms.custom
sqldbrb=2
devx-track-python
mode-api
py-fresh-zinc
sfi-ropc-nochange
ms.devlang python
monikerRange =azuresql || =azuresql-db || =azuresql-mi

Quickstart: Use Python to query a database in Azure SQL Database or Azure SQL Managed Instance

[!INCLUDE appliesto-sqldb-sqlmi]

In this quickstart, you use Python to connect to Azure SQL Database, Azure SQL Managed Instance, or Synapse SQL database and use T-SQL statements to query data.

mssql-python documentation | mssql-python source code | Package (PyPi)

Prerequisites

To complete this quickstart, you need:

Setting up

Follow these steps to configure your development environment to develop an application using the mssql-python Python driver.

Note

This driver uses the Tabular Data Stream (TDS) protocol, which is enabled by default in SQL Server, SQL database in Fabric and Azure SQL Database. No extra configuration is required.

Install the mssql-python package

Get the mssql-python package from PyPI.

  1. Open a command prompt in an empty directory.

  2. Install the mssql-python package.

    pip install mssql-python
    sudo apt-get -y install libltdl7
    pip install mssql-python
    brew install openssl
    pip install mssql-python

Install python-dotenv package

Get the python-dotenv from PyPI.

  1. In the same directory, install the python-dotenv package.

    pip install python-dotenv

Check installed packages

You can use the PyPI command-line tool to verify that your intended packages are installed.

  1. Check the list of installed packages with pip list.

    pip list

Create new files

  1. In the current directory, create a new file named .env.

  2. Within the .env file, add an entry for your connection string named SQL_CONNECTION_STRING. Replace the example here with your actual connection string value.

    SQL_CONNECTION_STRING="Server=<server_name>;Database={<database_name>};Encrypt=yes;TrustServerCertificate=no;Authentication=ActiveDirectoryInteractive"
    

    [!TIP]
    The connection string used here largely depends on the type of SQL database you're connecting to. If you're connecting to an Azure SQL Database or a SQL database in Fabric, use the ODBC connection string from the connection strings tab. You might need to adjust the authentication type depending on your scenario. For more information on connection strings and their syntax, see DSN and Connection String Keywords and Attributes.

  3. In a text editor, create a new file named sqltest.py.

  4. Add the following code.

    from os import getenv
    from dotenv import load_dotenv
    from mssql_python import connect
    
    load_dotenv()
    
    with connect(getenv("SQL_CONNECTION_STRING")) as conn:
        with conn.cursor() as cursor:
            cursor.execute("SELECT TOP 3 name, collation_name FROM sys.databases")
            rows = cursor.fetchall()
            for row in rows:
                print(row.name, row.collation_name)

Run the code

  1. At a command prompt, run the following command:

    python sqltest.py
  2. Verify that the databases and their collations are returned, and then close the command window.

    If you receive an error:

    • Verify that the server name, database name, username, and password you're using are correct.

    • If you're running the code from a local environment, verify that the firewall of the Azure resource you're trying to access is configured to allow access from your environment's IP address.

Related content