快速入门:使用 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 门户 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.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()
运行代码
请在命令提示符处运行以下命令:
python sqltest.py
确认已返回数据库及其排序规则,然后关闭命令窗口。
如果收到错误:
- 验证使用的服务器名称、数据库名称、用户名和密码是否正确。
- 验证安装的 ODBC 驱动程序与上述代码中的
driver
变量是否为相同版本。 例如,代码显示 17,但你可能安装了其他版本的驱动程序。 - 如果从本地环境运行代码,请验证尝试访问的 Azure 资源的防火墙是否已配置为允许从你的环境的 IP 地址进行访问。