使用 Python 查询 Azure SQL 数据库

本快速入门演示了如何使用 Python 连接到 Azure SQL 数据库,并使用 Transact-SQL 语句查询数据。

先决条件

若要完成本快速入门教程,请确保具备以下条件:

  • Azure SQL 数据库。 此快速入门使用以下某个快速入门中创建的资源:

  • 创建 DB - 门户

  • 创建 DB - CLI
  • 创建 DB - PowerShell

  • 针对用于本快速入门教程的计算机的公共 IP 地址制定服务器级防火墙规则

  • 已为操作系统安装 Python 和相关软件。

    • MacOS:安装 Homebrew 和 Python,安装 ODBC 驱动程序和 SQLCMD,再安装用于 SQL Server 的 Python 驱动程序。 请参阅步骤 1.2、1.3 和 2.1
    • Ubuntu:安装 Python 和其他所需包,然后安装用于 SQL Server 的 Python 驱动程序。 请参阅步骤 1.2 和 2.1
    • Windows:安装最新版的 Python(现已配置环境变量),安装 ODBC 驱动程序和 SQLCMD,然后安装用于 SQL Server 的 Python 驱动程序。 请参阅步骤 1.2、1.3 和 2.1

SQL Server 连接信息

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

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

    server-name

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

插入用于查询 SQL 数据库的代码

  1. 在常用的文本编辑器中,创建一个新文件 sqltest.py

  2. 将内容替换为以下代码,为服务器、数据库、用户和密码添加相应的值。

import pyodbc
server = 'your_server.database.chinacloudapi.cn'
database = 'your_database'
username = 'your_username'
password = 'your_password'
driver= '{ODBC Driver 13 for SQL Server}'
cnxn = pyodbc.connect('DRIVER='+driver+';PORT=1433;SERVER='+server+';PORT=1443;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
  1. 验证是否已返回前 20 行,然后关闭应用程序窗口。

后续步骤