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

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

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

先决条件

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

若要进一步了解 Python 和 Azure SQL 数据库中的数据库,请参阅适用于 Python 的 Azure SQL 数据库库pyodbc 存储库pyodbc 示例

创建用于查询数据库的代码

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

  2. 添加以下代码。 从先决条件部分获取连接信息,并将 <server>、<database>、<username> 和 <password> 的值替换为自己的值。

    import pyodbc
    server = '<server>.database.chinacloudapi.cn'
    database = '<database>'
    username = '<username>'
    password = '{<password>}'
    driver= '{ODBC Driver 17 for SQL Server}'
    
    with pyodbc.connect('DRIVER='+driver+';SERVER=tcp:'+server+';PORT=1433;DATABASE='+database+';UID='+username+';PWD='+ password) as conn:
        with conn.cursor() as cursor:
            cursor.execute("SELECT TOP 3 name, collation_name FROM sys.databases")
            row = cursor.fetchone()
            while row:
                print (str(row[0]) + " " + str(row[1]))
                row = cursor.fetchone()
    

运行代码

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

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

    如果收到错误:

    • 验证使用的服务器名称、数据库名称、用户名和密码是否正确。
    • 验证安装的 ODBC 驱动程序与上述代码中的 driver 变量是否为相同版本。 例如,代码显示 17,但你可能安装了其他版本的驱动程序。
    • 如果从本地环境运行代码,请验证尝试访问的 Azure 资源的防火墙是否已配置为允许从你的环境的 IP 地址进行访问。

后续步骤