快速入門:使用 Python 在 Azure SQL 資料庫或 Azure SQL 受控執行個體中查詢資料庫

適用於:Azure SQL 資料庫Azure SQL 受控執行個體Azure Synapse Analytics

在本快速入門中,您將使用 Python 連線至 Azure SQL 資料庫、Azure SQL 受控執行個體或 Synapse SQL 資料庫,並使用 T-SQL 陳述式查詢資料。

必要條件

若要完成本快速入門,您需要:

若要進一步探索 Python 和 Azure SQL 資料庫中的資料庫,請參閱適用於 Python 的 Azure SQL 資料庫程式庫pyodbc 存放庫,以及 pyodbc 範例

建立查詢您資料庫的程式碼

  1. 在文字編輯器中,建立名為 sqltest.py 的新檔案。

  2. 加入下列程式碼。 從必要條件小節中取得連線資訊,並以您自己的值取代 <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()
    

執行程式碼

  1. 在命令提示字元中,執行下列命令:

    python sqltest.py
    
  2. 確認已傳回資料庫及其定序,然後關閉命令視窗。

    如果您收到錯誤:

    • 確認您使用的伺服器名稱、資料庫名稱、使用者名稱和密碼正確無誤。
    • 確認您安裝的 ODBC 驅動程式版本與上方程式碼中的 driver 變數相同。 例如,程式碼顯示 17,但您可能已安裝不同的版本。
    • 如果您是從本機環境執行程式碼,請確認您嘗試存取的 Azure 資源,其防火牆已設定為允許從您環境的 IP 位址存取。

後續步驟