Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Gebruik in deze quickstart Jupyter Notebook in Visual Studio Code om snel zakelijke inzichten af te leiden. Gebruik de mssql-python driver van Python om verbinding te maken met je SQL-database, lees de data en formatteer deze vervolgens voor gebruik in e-mails, rapporten en presentaties.
Het mssql-python stuurprogramma vereist geen externe afhankelijkheden op Windows-computers. Het stuurprogramma installeert alles wat het nodig heeft met één pip installatie, zodat u de nieuwste versie van het stuurprogramma voor nieuwe scripts kunt gebruiken zonder dat andere scripts die u niet hoeft te upgraden en te testen, worden onderbroken.
documentatie | mssql-python-broncode | Pakket (PyPI) | Visual Studio Code
Vereiste voorwaarden
Python 3.10 of hoger
Als u Nog geen Python hebt, installeert u de Python-runtime en pip-pakketbeheer vanuit python.org.
Wilt u niet uw eigen omgeving gebruiken? Volg Container- en lokale ontwikkeling om een reproduceerbare devcontainer of GitHub Codespaces-omgeving te creëren.
Visual Studio Code met de volgende extensies:
Azure Command-Line Interface (CLI) voor verificatie zonder wachtwoord in macOS en Linux.
Als u dat nog niet hebt
uv, volgt u de installatie-instructies.Een database op SQL Server, Azure SQL Database of SQL Database in Fabric met het
AdventureWorks2025voorbeeldschema en een geldige verbindingsreeks.Installeer eenmalige vereisten voor het besturingssysteem.
Een SQL-database maken
Maak een SQL-database aan of maak verbinding met een van de volgende platforms:
Het project maken en de code uitvoeren
- Een nieuw project maken
- Afhankelijkheden toevoegen
- Visual Studio Code starten
- Pyproject.toml bijwerken
- De verbindingsreeks opslaan
- Een Jupyter Notebook maken
- Resultaten weergeven in een tabel
- Resultaten weergeven in een grafiek
Een nieuw project maken
Open een opdrachtprompt in uw ontwikkelingsmap. Als je er geen hebt, maak dan een nieuwe map aan, zoals
pythonofscripts. Vermijd mappen op je OneDrive, want synchronisatie kan het beheer van je virtuele omgeving verstoren.Maak een nieuw project met
uv.uv init jupyter-notebook-qs cd jupyter-notebook-qs
Afhankelijkheden toevoegen
Installeer in dezelfde map de mssql-python, python-dotenv, rich, pandas en matplotlib pakketten. Voeg vervolgens ipykernel en uv toe als dev-afhankelijkheden. VS Code heeft ipykernel nodig om notebookcellen uit te voeren en uv om pakketten vanuit je notebookcellen te beheren.
uv add mssql-python python-dotenv rich pandas matplotlib
uv add --dev ipykernel
uv add --dev uv
Visual Studio Code starten
Voer in dezelfde map de volgende opdracht uit.
code .
Pyproject.toml bijwerken
Het pyproject.toml bevat de metagegevens voor uw project.
Werk de beschrijving bij zodat deze meer beschrijvend is.
description = "A quick example using the mssql-python driver and Jupyter Notebooks."Sla het bestand op en sluit het.
De verbindingsreeks opslaan
Open het
.gitignorebestand en voeg een uitsluiting toe voor.envbestanden. Het bestand moet er ongeveer uitzien als in dit voorbeeld. Zorg ervoor dat u deze opslaat en sluit wanneer u klaar bent.# Python-generated files __pycache__/ *.py[oc] build/ dist/ wheels/ *.egg-info # Virtual environments .venv # Connection strings and secrets .envMaak in de huidige map een nieuw bestand met de naam
.env.Voeg in het
.envbestand een vermelding toe voor de verbindingsreeks met de naamSQL_CONNECTION_STRING. Vervang het voorbeeld hier door de werkelijke verbindingsreekswaarde.SQL_CONNECTION_STRING="Server=<server_name>;Database=<database_name>;Encrypt=yes;TrustServerCertificate=no;Authentication=ActiveDirectoryInteractive"Aanbeveling
De hier gebruikte verbindingsreeks is grotendeels afhankelijk van het type SQL-database waarmee u verbinding maakt. Als u verbinding maakt met een Azure SQL Database of een SQL-database in Fabric, gebruikt u de ODBC-verbindingsreeks op het tabblad Verbindingsreeksen. Mogelijk moet u het verificatietype aanpassen, afhankelijk van uw scenario. Zie de naslaginformatie over de syntaxis van de verbindingsreeks voor meer informatie over verbindingsreeksen en de bijbehorende syntaxis.
Een Jupyter Notebook maken
Selecteer Bestand en vervolgens Nieuw bestand en Jupyter Notebook in de lijst. Er wordt een nieuw notitieblok geopend.
Selecteer Bestand, vervolgens Opslaan als... en geef uw nieuwe notitieblok een naam.
Voeg de volgende imports toe in de eerste cel.
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 pltGebruik de knop + Markdown boven aan het notitieblok om een nieuwe Markdown-cel toe te voegen.
Voeg de volgende tekst toe aan de nieuwe Markdown-cel.
## Define queries for use laterSelecteer het vinkje op de celwerkbalk of gebruik de sneltoetsen
Ctrl+EnterofShift+Enterom de Markdown-cel weer te geven.Gebruik de knop + Code boven aan het notitieblok om een nieuwe codecel toe te voegen.
Voeg de volgende code toe aan de nieuwe codecel.
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 sod inner join SalesLT.SalesOrderHeader soh on sod.salesorderid = soh.salesorderid inner join SalesLT.Product p on sod.productid = p.productid inner join SalesLT.ProductCategory pc on p.ProductCategoryID = pc.ProductCategoryID GROUP BY pc.Name ORDER BY Spend; """
Resultaten weergeven in een tabel
Gebruik de knop + Markdown boven aan het notitieblok om een nieuwe Markdown-cel toe te voegen.
Voeg de volgende tekst toe aan de nieuwe Markdown-cel.
## Print orders by customer and display in a tableSelecteer het vinkje op de celwerkbalk of gebruik de sneltoetsen
Ctrl+EnterofShift+Enterom de Markdown-cel weer te geven.Gebruik de knop + Code boven aan het notitieblok om een nieuwe codecel toe te voegen.
Voeg de volgende code toe aan de nieuwe codecel.
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)Aanbeveling
In macOS werken beide
ActiveDirectoryInteractiveenActiveDirectoryDefaultvoor Microsoft Entra-verificatie.ActiveDirectoryInteractiveu wordt gevraagd u aan te melden telkens wanneer u het script uitvoert. Om herhaalde aanmeldingsprompts te voorkomen, meld je je één keer aan via de Azure CLI dooraz loginuit te voeren en gebruik vervolgensActiveDirectoryDefault, waarmee de in de cache opgeslagen referentiegegevens opnieuw worden gebruikt.Gebruik de knop Alle opdrachten uitvoeren bovenaan het notebook om alle opdrachten in het notebook uit te voeren.
Selecteer de jupyter-notebook-qs-kernel wanneer hierom wordt gevraagd.
Resultaten weergeven in een grafiek
Controleer de uitvoer van de laatste cel. U ziet nu een tabel met drie kolommen en vijf rijen.
Gebruik de knop + Markdown boven aan het notitieblok om een nieuwe Markdown-cel toe te voegen.
Voeg de volgende tekst toe aan de nieuwe Markdown-cel.
## Display spend by category in a horizontal bar chartSelecteer het vinkje op de celwerkbalk of gebruik de sneltoetsen
Ctrl+EnterofShift+Enterom de Markdown-cel weer te geven.Gebruik de knop + Code boven aan het notitieblok om een nieuwe codecel toe te voegen.
Voeg de volgende code toe aan de nieuwe codecel.
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'])Gebruik de knop Cel uitvoeren of
Ctrl+Alt+Entervoer de cel uit.Bekijk de resultaten. Maak dit notitieblok uw eigen notitieblok.
Volgende stappen
Gebruik deze artikelen om verder te bouwen:
- Bouw verbindingsstrings om verbindingen te configureren voor verschillende SQL-databasetypes en authenticatiemethoden.
- integratie met pandas om queryresultaten direct in DataFrames te laden voor analyse in notebooks.
- Arrow-integratie om met behulp van Apache Arrow te werken met kolomvormige gegevens voor hoogwaardige analyses.