你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

快速入门:使用 Python 查询 Azure SQL 数据库中的数据库或 Azure SQL 托管实例

适用于:Azure SQL 数据库Azure SQL 托管实例Azure Synapse Analytics

在本快速入门中,你将使用 Python 连接到 Azure SQL 数据库、Azure SQL 托管实例或 Synapse SQL 数据库,并使用 T-SQL 语句来查询数据。

mssql-python 文档 | mssql-python 源代码 | 包 (PyPi)

先决条件

若要完成本快速入门,你需要:

设置

按照以下步骤配置开发环境,以使用 mssql-python Python 驱动程序开发应用程序。

注释

此驱动程序使用 表格数据流(TDS) 协议,该协议默认在 SQL Server、Fabric 中的 SQL 数据库和 Azure SQL 数据库中启用。 不需要额外的配置。

安装 mssql-python 包

从 PyPI 获取mssql-python

  1. 在空目录中打开命令提示符。

  2. 安装 mssql-python 包。

    pip install mssql-python
    

安装 python-dotenv 包

在 PyPI 上获取python-dotenv

  1. 在同一目录中,安装 python-dotenv 包。

    pip install python-dotenv
    

检查已安装的包

可以使用 PyPI 命令行工具验证是否安装了预期包。

  1. 使用pip list检查已安装的软件包列表。

    pip list
    

创建新文件

  1. 在当前目录中,创建一个名为 .env 的新文件。

  2. .env 文件中,为连接字符串 SQL_CONNECTION_STRING 添加一个条目。 将此处的示例替换为实际连接字符串值。

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

    小窍门

    此处使用的连接字符串在很大程度上取决于要连接到的 SQL 数据库的类型。 如果要连接到 Fabric 中的 Azure SQL 数据库SQL 数据库,请使用连接字符串选项卡中的 ODBC 连接字符串。可能需要根据方案调整身份验证类型。 有关连接字符串及其语法的详细信息,请参阅 DSN 和连接字符串关键字和属性

  3. 在文本编辑器中,创建新文件 sqltest.py。

  4. 添加以下代码。

    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)
    

运行代码

  1. 请在命令提示符处运行以下命令:

    python sqltest.py
    
  2. 确认已返回数据库及其排序规则,然后关闭命令窗口。

    如果收到错误:

    • 验证使用的服务器名称、数据库名称、用户名和密码是否正确。

    • 如果从本地环境运行代码,请验证尝试访问的 Azure 资源的防火墙是否已配置为允许从你的环境的 IP 地址进行访问。