快速入门:使用 Python 查询 Azure SQL 数据库

本快速入门演示了如何使用 Python 连接到 Azure SQL 数据库,然后使用 Transact-SQL 语句查询数据。 如需进一步的 SDK 详细信息,请查看参考文档、pyodbc GitHub 存储库以及 pyodbc 示例

先决条件

若要完成本快速入门,请确保符合以下条件:

获取 SQL Server 连接信息

获取连接到 Azure SQL 数据库所需的连接信息。 在后续过程中,将需要完全限定的服务器名称、数据库名称和登录信息。

  1. 登录到 Azure 门户
  2. 从左侧菜单中选择“SQL 数据库”,并单击“SQL 数据库”页上的数据库。
  3. 在数据库的“概览”页上,查看如下图所示的完全限定的服务器名称。 将鼠标悬停在服务器名称上即可打开“通过单击进行复制”选项。

    server-name

  4. 如果忘了服务器的登录信息,请导航到 SQL 数据库服务器页,以查看服务器管理员名称。 如有必要,请重置密码。

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

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

  2. 添加以下代码。 将自己的值替换为 <服务器>、<数据库>、<用户名> 和 <密码>。

    Important

    本示例中的代码使用示例 AdventureWorksLT 数据,在创建数据库时可以选择该数据作为源。 如果数据库有不同数据,请在 SELECT 查询中使用自己数据库中的表。

    import pyodbc
    server = '<server>.database.chinacloudapi.cn'
    database = '<database>'
    username = '<username>'
    password = '<password>'
    driver= '{ODBC Driver 17 for SQL Server}'
    cnxn = pyodbc.connect('DRIVER='+driver+';SERVER='+server+';PORT=1433;DATABASE='+database+';UID='+username+';PWD='+ password)
    cursor = cnxn.cursor()
    cursor.execute("SELECT TOP 20 pc.Name as CategoryName, p.name as ProductName FROM [SalesLT].[ProductCategory] pc JOIN [SalesLT].[Product] p ON pc.productcategoryid = p.productcategoryid")
    row = cursor.fetchone()
    while row:
        print (str(row[0]) + " " + str(row[1]))
        row = cursor.fetchone()
    

运行代码

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

    python sqltest.py
    
  2. 确认已返回前 20 个类别/产品行,然后关闭命令窗口。

后续步骤