你当前正在访问 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 语句来查询数据。
先决条件
若要完成本快速入门,你需要:
具有活动订阅的 Azure 帐户。 免费创建帐户。
将在其中运行查询的数据库。
可以根据下述快速入门之一,创建数据库,然后对其进行配置:
操作 SQL 数据库 SQL 托管实例 Azure VM 上的 SQL Server Azure Synapse Analytics 创建 Portal Portal 门户 门户 CLI CLI PowerShell PowerShell PowerShell PowerShell 部署模板 部署模板 部署模板 部署模板 配置 服务器级别 IP 防火墙规则 从 VM 进行连接 连接设置 来自本地的连接 连接到 SQL Server 实例 获取连接信息 Azure SQL Azure SQL SQL VM Synapse SQL Python 3 和相关软件
操作 macOS Linux Windows 安装用于 SQL Server 的 ODBC 驱动程序、sqlcmd 和 Python 驱动程序 配置用于 pyodbc Python 开发的环境 配置用于 pyodbc Python 开发的环境 配置用于 pyodbc Python 开发的环境。 安装 Python 和其他所需的包 请使用 sudo apt-get install python python-pip gcc g++ build-essential
。更多信息 macOS 上的 Microsoft ODBC 驱动程序 Linux 上的 Microsoft ODBC 驱动程序 Windows 上的 Microsoft ODBC 驱动程序
若要进一步了解 Python 和 Azure SQL 数据库中的数据库,请参阅适用于 Python 的 Azure SQL 数据库库、pyodbc 存储库和 pyodbc 示例。
创建用于查询数据库的代码
在文本编辑器中,创建新文件 sqltest.py。
添加以下代码。 从先决条件部分获取连接信息,并将 <server>、<database>、<username> 和 <password> 的值替换为自己的值。
import pyodbc server = '<server>.database.windows.net' 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()
运行代码
请在命令提示符处运行以下命令:
python sqltest.py
确认已返回数据库及其排序规则,然后关闭命令窗口。
如果收到错误:
- 验证使用的服务器名称、数据库名称、用户名和密码是否正确。
- 验证安装的 ODBC 驱动程序与上述代码中的
driver
变量是否为相同版本。 例如,代码显示 17,但你可能安装了其他版本的驱动程序。 - 如果从本地环境运行代码,请验证尝试访问的 Azure 资源的防火墙是否已配置为允许从你的环境的 IP 地址进行访问。