Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ebben a gyorsindításban használd a Jupyter Notebook-ot a Visual Studio Code-ban, hogy gyorsan lehessen vezetni üzleti betekintéseket. Használd a mssql-python Python illesztőprogramot, hogy csatlakozz az SQL adatbázisodhoz, olvasd el az adatokat, majd formázd azokat e-mailekhez, jelentésekhez és prezentációkhoz.
Az mssql-python illesztőprogram nem igényel külső függőségeket a Windows rendszerű gépeken. Az illesztőprogram egyetlen pip telepítéssel mindent telepít, amire szüksége van, így az illesztőprogram legújabb verzióját használhatja az új szkriptekhez anélkül, hogy megszegi azokat a szkripteket, amelyek frissítésére és tesztelésére nincs ideje.
az mssql-python dokumentációja | mssql-python forráskód | Csomag (PyPI) | Visual Studio Code
Előfeltételek
Python 3.10 vagy újabb verzió.
Ha még nem rendelkezik Pythonnal, telepítse a Python futtatókörnyezetet és a pip csomagkezelőta python.org.
Nem szeretné használni a saját környezetét? Kövesd a Container és a helyi fejlesztést, hogy reprodukálható devcontainer vagy GitHub Codespaces környezetet hozz létre.
Visual Studio Code a következő bővítményekkel:
Python-bővítmény a Visual Studio Code-hoz
Az Azure Command-Line Interface (CLI) a jelszó nélküli hitelesítéshez macOS és Linux rendszeren.
Ha még nem tette meg
uv, kövesse a telepítési utasításokat.Sql Serveren, Azure SQL Database-en vagy SQL Database-adatbázison a Fabricben a
AdventureWorks2025mintasémával és egy érvényes kapcsolati sztringgel.
Az operációs rendszer telepítésének előfeltételei
Egyszeri operációs rendszerspecifikus előfeltételek telepítése. A Windows felhasználók ezt a lépést kihagyhatják. A platform teljes részleteiért lásd: Install mssql-python.
SQL-adatbázis létrehozása
Létrehozni vagy csatlakozni SQL adatbázishoz az alábbi platformok egyikén:
A projekt létrehozása és a kód futtatása
- Új projekt létrehozása
- Függőségek hozzáadása
- A Visual Studio Code indítása
- Pyproject.toml frissítése
- A kapcsolati sztring mentése
- Jupyter-jegyzetfüzet létrehozása
- Eredmények megjelenítése táblázatban
- Eredmények megjelenítése diagramon
Új projekt létrehozása
Nyisson meg egy parancssort a fejlesztői címtárban. Ha nincs ilyened, hozz létre egy új könyvtárat, például
pythonvagyscripts. Kerüld a mappákat a OneDrive-on, mert a szinkronizáció zavarhatja a virtuális környezet kezelését.Hozzon létre egy új projektet a
uvsegítségével.uv init jupyter-notebook-qs cd jupyter-notebook-qs
Függőségek hozzáadása
Ugyanabban a könyvtárban telepítse a mssql-python, python-dotenv, rich, pandasés matplotlib csomagokat. Ezután add hozzá a ipykernel és uv mint fejlesztési függőségek. A VS Code-nak ipykernel szükséges a jegyzetfüzetcellák futtatásához, és uv a csomagoknak a jegyzetfüzetcellákból történő kezeléséhez.
uv add mssql-python python-dotenv rich pandas matplotlib
uv add --dev ipykernel
uv add --dev uv
Indítsa el a Visual Studio Code-ot
Ugyanabban a könyvtárban futtassa a következő parancsot.
code .
Pyproject.toml frissítése
Nyissa meg a
pyproject.tomlfájlt a szerkesztőben. Ez a fájl tartalmazza a projekted metaadatait.Frissítsd az
descriptionértéket.description = "A quick example using the mssql-python driver and Jupyter Notebooks."Mentse és zárja be a fájlt.
A kapcsolati sztring mentése
Nyissa meg a
.gitignorefájlt, és adjon hozzá kizárást a fájlokhoz.env. A fájlodnak hasonlónak kell lennie a következő példához.# Python-generated files __pycache__/ *.py[oc] build/ dist/ wheels/ *.egg-info # Virtual environments .venv # Connection strings and secrets .envMentés és bezárás
.gitignore.Az aktuális könyvtárban hozzon létre egy új fájlt.
.envA
.envfájlban adjon hozzá egy bejegyzést a kapcsolati karakterlánchoz, a következő névvel:SQL_CONNECTION_STRING. Cserélje le a helyőrzőket a tényleges értékekre.SQL_CONNECTION_STRING="Server=<server>;Database=<database>;Encrypt=yes;TrustServerCertificate=no;Authentication=ActiveDirectoryInteractive"A kapcsolati karakterlánc attól függ, milyen típusú SQL adatbázishoz csatlakozol. Azure SQL Database vagy a Fabricben található SQL-adatbázis esetén használd a Kapcsolati sztringek lapról származó ODBC-kapcsolati sztringet, és állítsd be a hitelesítési típust az adott forgatókönyvhöz. További információért a kapcsolati karakterlánc szintaxisáról lásd: Connection strings for mssql-python.
Jótanács
macOS rendszeren mind a
ActiveDirectoryInteractive, mind aActiveDirectoryDefaulthasználható a Microsoft Entra-hitelesítéshez.ActiveDirectoryInteractiveminden alkalommal, amikor futtatja a szkriptet, arra kéri, hogy jelentkezzen be. Az ismétlődő bejelentkezési promptok elkerülése érdekében jelentkezzen be egyszer az Azure CLIaz loginparancsral, és használdActiveDirectoryDefault.ActiveDirectoryDefaultújrahasználja a gyorsítótárban tárolt hitelesítő adatot.
Jupyter-jegyzetfüzet létrehozása
Válassza a Fájl, majd az Új fájl és a Jupyter Notebook lehetőséget a listából. Megnyílik egy új jegyzetfüzet.
Válassza a Fájl, majd a Mentés másként... lehetőséget, és adjon nevet az új jegyzetfüzetnek.
Adja hozzá az alábbi importálásokat az első cellához.
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 pltÚj Markdown-cella hozzáadásához használja a jegyzetfüzet tetején található + Markdown gombot.
Adja hozzá a következő szöveget az új Markdown-cellához.
## Define queries for use laterVálassza ki a pipát a cella eszköztárán, vagy használja a billentyűparancsokat
Ctrl+EntervagyShift+Entera markdown cella rendereléséhez.Új kódcella hozzáadásához használja a jegyzetfüzet tetején található + Kód gombot.
Adja hozzá a következő kódot az új kódcellához.
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; """
Eredmények megjelenítése táblázatban
Új Markdown-cella hozzáadásához használja a jegyzetfüzet tetején található + Markdown gombot.
Adja hozzá a következő szöveget az új Markdown-cellához.
## Print orders by customer and display in a tableVálassza ki a pipát a cella eszköztárán, vagy használja a billentyűparancsokat
Ctrl+EntervagyShift+Entera markdown cella rendereléséhez.Új kódcella hozzáadásához használja a jegyzetfüzet tetején található + Kód gombot.
Adja hozzá a következő kódot az új kódcellához.
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)A jegyzetfüzet futtatásához használja a jegyzetfüzet tetején található Összes futtatása gombot.
Amikor a rendszer kéri, válassza ki a jupyter-notebook-qs kernelt.
Eredmények megjelenítése diagramon
Nézd át az előző cella kimenetét. Látnia kell egy három oszlopból és öt sorból álló táblázatot.
Új Markdown-cella hozzáadásához használja a jegyzetfüzet tetején található + Markdown gombot.
Adja hozzá a következő szöveget az új Markdown-cellához.
## Display spend by category in a horizontal bar chartVálassza ki a pipát a cella eszköztárán, vagy használja a billentyűparancsokat
Ctrl+EntervagyShift+Entera markdown cella rendereléséhez.Új kódcella hozzáadásához használja a jegyzetfüzet tetején található + Kód gombot.
Adja hozzá a következő kódot az új kódcellához.
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'])Használja a Cella végrehajtása gombot, vagy
Ctrl+Alt+Enterfuttassa a cellát.Nézd át a táblázatot.