Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto rychlém startu použijte Jupyter Notebook ve Visual Studio Code k rychlému získání obchodních poznatků. Použijte mssql-python ovladač pro Python k připojení k vaší SQL databázi, přečtěte data a pak je naformátujte pro použití v e-mailech, reportech a prezentacích.
Ovladač mssql-python nevyžaduje žádné externí závislosti na počítačích s Windows. Ovladač nainstaluje všechno, co potřebuje, s jednou pip instalací, což vám umožní používat nejnovější verzi ovladače pro nové skripty bez přerušení jiných skriptů, které nemáte čas upgradovat a testovat.
Dokumentace mssql-python | | |
Požadavky
Python 3.10 nebo novější.
Pokud ještě nemáte Python, nainstalujte z python.orgPython runtime a správce balíčků pip.
Nechcete používat vlastní prostředí? Postupujte podle Kontejner a místní vývoj a vytvořte reprodukovatelné vývojové prostředí devcontainer nebo GitHub Codespaces.
Visual Studio Code s následujícími rozšířeními:
Rozšíření Pythonu pro Visual Studio Code
Azure Command-Line Interface (CLI) pro ověřování bez hesla v systému macOS a Linux.
Pokud ještě
uvnemáte, postupujte podle pokynů k instalaci.Databáze na SQL Serveru, Azure SQL Database nebo SQL databáze v Fabric s ukázkovým
AdventureWorks2025schématem a platným připojovacím řetězcem.
Nainstalujte požadavky pro operační systém
Nainstalujte požadavky specifické pro jednorázový operační systém. Uživatelé Windows mohou tento krok přeskočit. Pro úplné podrobnosti o platformě viz Instalace mssql-python.
Vytvoření databáze SQL
Vytvořte nebo se připojte k SQL databázi na jedné z následujících platforem:
Vytvoření projektu a spuštění kódu
- Vytvoření nového projektu
- Přidání závislostí
- Spuštění editoru Visual Studio Code
- Aktualizace pyproject.toml
- Ulož připojovací řetězec
- Vytvoření poznámkového bloku Jupyter
- Zobrazení výsledků v tabulce
- Zobrazení výsledků v grafu
Vytvoření nového projektu
Otevřete příkazový řádek ve vývojovém adresáři. Pokud žádný nemáte, vytvořte nový adresář, například
pythonneboscripts. Vyhněte se složkám na OneDrive, protože synchronizace může narušit správu virtuálního prostředí.Vytvořte nový projekt pomocí
uvpříkazu .uv init jupyter-notebook-qs cd jupyter-notebook-qs
Přidejte závislosti
Ve stejném adresáři nainstalujte mssql-python, python-dotenv, rich, pandas a matplotlib balíčky. Pak přidejte ipykernel a uv jako vývojové závislosti. VS Code vyžaduje ipykernel ke spouštění buněk notebooku a uv ke správě balíčků přímo z buněk notebooku.
uv add mssql-python python-dotenv rich pandas matplotlib
uv add --dev ipykernel
uv add --dev uv
Spusťte Visual Studio Code
Ve stejném adresáři spusťte následující příkaz.
code .
Aktualizace pyproject.toml
Otevřete soubor v editoru
pyproject.toml. Tento soubor obsahuje metadata vašeho projektu.Aktualizujte hodnotu
description.description = "A quick example using the mssql-python driver and Jupyter Notebooks."Uložte a zavřete soubor.
Uložte řetězec připojení
.gitignoreOtevřete soubor a přidejte vyloučení souborů.env. Váš soubor by měl být podobný následujícímu příkladu.# Python-generated files __pycache__/ *.py[oc] build/ dist/ wheels/ *.egg-info # Virtual environments .venv # Connection strings and secrets .envUložte a zavřete
.gitignore.V aktuálním adresáři vytvořte nový soubor s názvem
.env..envV souboru přidejte položku pro připojovací řetězec s názvemSQL_CONNECTION_STRING. Zástupné symboly nahraďte skutečnými hodnotami.SQL_CONNECTION_STRING="Server=<server>;Database=<database>;Encrypt=yes;TrustServerCertificate=no;Authentication=ActiveDirectoryInteractive"připojovací řetězec závisí na typu SQL databáze, ke které se připojujete. Pro Azure SQL Database nebo SQL databázi ve Fabric použijte ODBC připojovací řetězec z karty připojovací řetězecs a upravte typ autentizace pro váš scénář. Pro více informací o syntaxi připojovací řetězec viz Connection strings for mssql-python.
Návod
V systému macOS funguje ověřování pomocí Microsoft Entra jak s
ActiveDirectoryInteractive, tak sActiveDirectoryDefault.ActiveDirectoryInteractivevás vyzve k přihlášení při každém spuštění skriptu. Abychom se vyhnuli opakovaným výzvám k přihlášení, přihlaste se jednou příkazem Azure CLIaz logina použijte příkazActiveDirectoryDefault.ActiveDirectoryDefaultznovu použije uložené přihlašovací údaje.
Vytvoření poznámkového bloku Jupyter
V seznamu vyberte Soubor, pak Nový soubor a Jupyter Notebook . Otevře se nový poznámkový blok.
Vyberte Soubor, pak Uložit jako... a pojmenujte nový poznámkový blok.
Do první buňky přidejte následující importy.
from os import getenv from mssql_python import connect from dotenv import load_dotenv from rich.console import Console from rich.table import Table import pandas as pd import matplotlib.pyplot as pltPomocí tlačítka + Markdown v horní části poznámkového bloku přidejte novou buňku Markdownu.
Do nové buňky markdownu přidejte následující text.
## Define queries for use laterVyberte zaškrtávací políčko na panelu nástrojů buňky nebo použijte klávesové zkratky
Ctrl+EnterneboShift+Enterk vykreslení markdownové buňky.Pomocí tlačítka + Kód v horní části poznámkového bloku přidejte novou buňku kódu.
Do nové buňky kódu přidejte následující kód.
SQL_QUERY_ORDERS_BY_CUSTOMER = """ SELECT TOP 5 c.CustomerID, c.CompanyName, COUNT(soh.SalesOrderID) AS OrderCount FROM SalesLT.Customer AS c LEFT OUTER JOIN SalesLT.SalesOrderHeader AS soh ON c.CustomerID = soh.CustomerID GROUP BY c.CustomerID, c.CompanyName ORDER BY OrderCount DESC; """ SQL_QUERY_SPEND_BY_CATEGORY = """ SELECT TOP 10 pc.Name AS ProductCategory, SUM(sod.OrderQty * sod.UnitPrice) AS Spend FROM SalesLT.SalesOrderDetail AS sod INNER JOIN SalesLT.SalesOrderHeader AS soh ON sod.SalesOrderID = soh.SalesOrderID INNER JOIN SalesLT.Product AS p ON sod.ProductID = p.ProductID INNER JOIN SalesLT.ProductCategory AS pc ON p.ProductCategoryID = pc.ProductCategoryID GROUP BY pc.Name ORDER BY Spend; """
Zobrazení výsledků v tabulce
Pomocí tlačítka + Markdown v horní části poznámkového bloku přidejte novou buňku Markdownu.
Do nové buňky markdownu přidejte následující text.
## Print orders by customer and display in a tableVyberte zaškrtávací políčko na panelu nástrojů buňky nebo použijte klávesové zkratky
Ctrl+EnterneboShift+Enterk vykreslení markdownové buňky.Pomocí tlačítka + Kód v horní části poznámkového bloku přidejte novou buňku kódu.
Do nové buňky kódu přidejte následující kód.
load_dotenv() with connect(getenv("SQL_CONNECTION_STRING")) as conn: # type: ignore with conn.cursor() as cursor: cursor.execute(SQL_QUERY_ORDERS_BY_CUSTOMER) if cursor: table = Table(title="Orders by Customer") # https://rich.readthedocs.io/en/stable/appendix/colors.html table.add_column("Customer ID", style="bright_blue", justify="center") table.add_column("Company Name", style="bright_white", justify="left") table.add_column("Order Count", style="bold green", justify="right") records = cursor.fetchall() for r in records: table.add_row(f"{r.CustomerID}", f"{r.CompanyName}", f"{r.OrderCount}") Console().print(table)Ke spuštění poznámkového bloku použijte tlačítko Spustit vše v horní části poznámkového bloku.
Vyberte jádro jupyter-notebook-qs, když se zobrazí výzva.
Zobrazení výsledků v grafu
Zkontrolujte výstup předchozí buňky. Měla by se zobrazit tabulka se třemi sloupci a pěti řádky.
Pomocí tlačítka + Markdown v horní části poznámkového bloku přidejte novou buňku Markdownu.
Do nové buňky markdownu přidejte následující text.
## Display spend by category in a horizontal bar chartVyberte zaškrtávací políčko na panelu nástrojů buňky nebo použijte klávesové zkratky
Ctrl+EnterneboShift+Enterk vykreslení markdownové buňky.Pomocí tlačítka + Kód v horní části poznámkového bloku přidejte novou buňku kódu.
Do nové buňky kódu přidejte následující kód.
with connect(getenv("SQL_CONNECTION_STRING")) as conn: # type: ignore data = pd.read_sql_query(SQL_QUERY_SPEND_BY_CATEGORY, conn) # Set the style - use print(plt.style.available) to see all options plt.style.use('seaborn-v0_8-notebook') plt.barh(data['ProductCategory'], data['Spend'])Pomocí tlačítka Spustit buňku nebo
Ctrl+Alt+Enterbuňku spusťte.Prohlédněte si graf.