クイック スタート:Python を使用して Azure SQL Database または Azure SQL Managed Instance 内のデータベースに対してクエリを実行するQuickstart: Use Python to query a database in Azure SQL Database or Azure SQL Managed Instance

適用対象: Azure SQL Database Azure SQL Managed Instance

このクイックスタートでは、Python を使用して Azure SQL データベースまたは Azure SQL マネージド インスタンスに接続し、T-SQL ステートメントを使用してデータに対してクエリを実行します。In this quickstart, you use Python to connect to Azure SQL Database or Azure SQL Managed Instance, and use T-SQL statements to query data.

前提条件Prerequisites

このクイック スタートを完了するには、次のものが必要です。To complete this quickstart, you need:


重要

この記事のスクリプトは、Adventure Works データベースを使用するように記述されています。The scripts in this article are written to use the Adventure Works database.

注意

オプションで、Azure SQL マネージド インスタンスの使用を選択できます。You can optionally choose to use an Azure SQL Managed Instance.

作成して構成するには、Azure portalPowerShell、または CLI を使用して、オンプレミスまたは VM 接続を設定します。To create and configure, use the Azure portal, PowerShell, or the CLI, and then set up on-premises or VM connectivity.

データを読み込む方法については、Adventure Works ファイルの BACPAC を使用した復元に関するページを参照するか、Wide World Importers データベースの復元に関するページを参照してください。To load data, see restore with BACPAC with the Adventure Works file, or see restore the Wide World Importers database.

Python と Azure SQL Database のデータベースの詳細については、「Python 用 Azure SQL Database ライブラリ」、pyodbc リポジトリ、および pyodbc のサンプルを参照してください。To further explore Python and the database in Azure SQL Database, see Azure SQL Database libraries for Python, the pyodbc repository, and a pyodbc sample.

サーバーの接続情報を取得するGet server connection information

Azure SQL Database のデータベースに接続するために必要な接続情報を取得します。Get the connection information you need to connect to the database in Azure SQL Database. 後の手順で、完全修飾サーバー名またはホスト名、データベース名、およびログイン情報が必要になります。You'll need the fully qualified server name or host name, database name, and login information for the upcoming procedures.

  1. Azure portal にサインインします。Sign in to the Azure portal.

  2. [SQL データベース] または [SQL マネージド インスタンス] ページに移動します。Go to the SQL Databases or SQL Managed Instances page.

  3. [概要] ページで、Azure SQL Database のデータベースの場合は [サーバー名] の横の完全修飾サーバー名を確認し、Azure SQL マネージド インスタンスまたは Azure VM 上の SQL Server の場合は [ホスト] の横の完全修飾サーバー名 (または IP アドレス) を確認します。On the Overview page, review the fully qualified server name next to Server name for the database in Azure SQL Database or the fully qualified server name (or IP address) next to Host for an Azure SQL Managed Instance or SQL Server on Azure VM. サーバー名またはホスト名をコピーするには、名前をポイントして [コピー] アイコンを選択します。To copy the server name or host name, hover over it and select the Copy icon.

注意

Azure VM 上の SQL Server の接続情報については、SQL Server インスタンスへの接続に関するページをご覧ください。For connection information for SQL Server on Azure VM, see Connect to a SQL Server instance.

データベースに対してクエリを実行するコードを作成するCreate code to query your database

  1. 任意のテキスト エディターで新しいファイル (sqltest.py) を作成します。In a text editor, create a new file named sqltest.py.

  2. 次のコードを追加します。Add the following code. <server>、<database>、<username>、<password> は、使用する実際の値で置き換えてください。Substitute your own values for <server>, <database>, <username>, and <password>.

    重要

    この例のコードでは、サンプル データ AdventureWorksLT を使用します。これは、データベースの作成時にソースとして選択できます。The code in this example uses the sample AdventureWorksLT data, which you can choose as source when creating your database. データベースに別のデータがある場合は、SELECT クエリで独自のデータベースからのテーブルを使用します。If your database has different data, use tables from your own database in the SELECT query.

    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='+server+';PORT=1433;DATABASE='+database+';UID='+username+';PWD='+ password) as conn:
        with conn.cursor() as 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()
    

コードの実行Run the code

  1. コマンド プロンプトで、次のコマンドを実行します。At a command prompt, run the following command:

    python sqltest.py
    
  2. 上位 20 のカテゴリ/製品行が返されることを確認し、コマンド ウィンドウを閉じます。Verify that the top 20 Category/Product rows are returned, and then close the command window.

次のステップNext steps