Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In dieser Schnellstartanleitung verwenden Sie Jupyter-Notizbuch in Visual Studio Code, um schnell Geschäftseinblicke abzuleiten. Sie verwenden den mssql-python Treiber für Python, um eine Verbindung mit Ihrer SQL-Datenbank herzustellen und die Daten zu lesen, die dann für die Verwendung in E-Mails, Berichtspräsentationen usw. formatiert sind.
Der mssql-python Treiber erfordert keine externen Abhängigkeiten von Windows-Computern. Der Treiber installiert alles, was er mit einer einzigen pip Installation benötigt, sodass Sie die neueste Version des Treibers für neue Skripts verwenden können, ohne andere Skripts zu unterbrechen, die Sie nicht zum Upgrade und Test benötigen.
mssql-python-Dokumentation | mssql-python-Quellcode | Paket (PyPi) | Visual Studio Code
Voraussetzungen
Python 3
Wenn Sie noch nicht über Python verfügen, installieren Sie den Python-Runtime- und Python Package Index (PyPI)-Paket-Manager aus python.org.
Möchten Sie lieber nicht Ihre eigene Umgebung verwenden? Öffnen Sie als Devcontainer mit GitHub Codespaces.
Visual Studio Code mit den folgenden Erweiterungen:
Wenn Sie
uvnoch nicht haben, installieren Sieuvgemäß den Anweisungen von https://docs.astral.sh/uv/getting-started/installation/.Eine Datenbank auf SQL Server, Azure SQL-Datenbank oder SQL-Datenbank in Fabric mit dem
AdventureWorks2025Beispielschema und einer gültigen Verbindungszeichenfolge.Installieren Sie die einmaligen betriebsystem-spezifischen Voraussetzungen.
Erstellen einer SQL-Datenbank
Für diese Schnellstartanleitung ist das AdventureWorks2025 Lightweight-Schema unter Microsoft SQL Server, SQL-Datenbank in Fabric oder Azure SQL-Datenbank erforderlich.
Erstellen Sie das Projekt, und führen Sie den Code aus.
- Erstellen eines neuen Projekts
- Hinzufügen von Abhängigkeiten
- Starten von Visual Studio Code
- Pyproject.toml aktualisieren
- Speichern der Verbindungszeichenfolge
- Erstellen eines Jupyter-Notizbuchs
- Anzeigen von Ergebnissen in einer Tabelle
- Anzeigen von Ergebnissen in einem Diagramm
Erstellen eines neuen Projekts
Öffnen Sie eine Eingabeaufforderung in Ihrem Entwicklungsverzeichnis. Wenn Sie kein Verzeichnis haben, erstellen Sie ein neues Verzeichnis namens
python,scriptsusw. Vermeiden Sie Ordner auf Ihrem OneDrive, die Synchronisierung kann die Verwaltung Ihrer virtuellen Umgebung beeinträchtigen.Erstellen Sie ein neues Projekt mit
uv.uv init jupyter-notebook-qs cd jupyter-notebook-qs
Hinzufügen von Abhängigkeiten
Installieren Sie im selben Verzeichnis die Pakete mssql-python, python-dotenv, rich, pandas und matplotlib. Fügen Sie dann ipykernel und uv als Entwicklungsabhängigkeiten hinzu. VS Code erfordert, dass ipykernel und uv hinzugefügt werden, um mit uv innerhalb Ihrer Notizbuchzellen mithilfe von Befehlen wie !uv add mssql_python interagieren zu können.
uv add mssql_python dotenv rich pandas matplotlib
uv add --dev ipykernel
uv add --dev uv
Starten Sie Visual Studio Code.
Führen Sie im selben Verzeichnis den folgenden Befehl aus.
code .
Pyproject.toml aktualisieren
Das pyproject.toml enthält die Metadaten für Ihr Projekt.
Aktualisieren Sie die Beschreibung so, dass sie aussagekräftiger ist.
description = "A quick example using the mssql-python driver and Jupyter Notebooks."Speichern und schließen Sie die Datei.
Speichern der Verbindungszeichenfolge
Öffnen Sie die
.gitignoreDatei, und fügen Sie einen Ausschluss für Dateien hinzu.env. Ihre Datei sollte mit diesem Beispiel vergleichbar sein. Achten Sie darauf, sie zu speichern und zu schließen, wenn Sie fertig sind.# Python-generated files __pycache__/ *.py[oc] build/ dist/ wheels/ *.egg-info # Virtual environments .venv # Connection strings and secrets .envErstellen Sie im aktuellen Verzeichnis eine neue Datei mit dem Namen
.env.Fügen Sie in der
.envDatei einen Eintrag für die Verbindungszeichenfolge mit dem NamenSQL_CONNECTION_STRINGhinzu. Ersetzen Sie das Beispiel hier durch Ihren tatsächlichen Verbindungszeichenfolgenwert.SQL_CONNECTION_STRING="Server=<server_name>;Database={<database_name>};Encrypt=yes;TrustServerCertificate=no;Authentication=ActiveDirectoryInteractive"Tipp
Die hier verwendete Verbindungszeichenfolge hängt weitgehend vom Typ der SQL-Datenbank ab, mit der Sie eine Verbindung herstellen. Wenn Sie eine Verbindung mit einer Azure SQL-Datenbank oder einer SQL-Datenbank in Fabric herstellen, verwenden Sie die ODBC-Verbindungszeichenfolge auf der Registerkarte "Verbindungszeichenfolgen". Möglicherweise müssen Sie den Authentifizierungstyp je nach Szenario anpassen. Weitere Informationen zu Verbindungszeichenfolgen und deren Syntax finden Sie in der Referenz zur Verbindungszeichenfolgensyntax.
Erstellen eines Jupyter-Notizbuchs
Wählen Sie "Datei" und dann " Neue Datei" und " Jupyter-Notizbuch " aus der Liste aus. Ein neues Notizbuch wird geöffnet.
Wählen Sie "Datei" und dann " Speichern unter" aus, und geben Sie Ihrem neuen Notizbuch einen Namen.
Fügen Sie die folgenden Importe in der ersten Zelle hinzu.
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 pltVerwenden Sie die Schaltfläche +Markdown oben im Notizbuch, um eine neue Markdownzelle hinzuzufügen.
Fügen Sie der neuen Markdownzelle den folgenden Text hinzu.
## Define queries for use laterAktivieren Sie das Häkchen in der Zellensymbolleiste oder verwenden Sie die Tastenkombinationen
Ctrl+EnteroderShift+Enter, um die Markdownzelle zu rendern.Verwenden Sie die Schaltfläche +Code oben im Notizbuch, um eine neue Codezelle hinzuzufügen.
Fügen Sie der neuen Codezelle den folgenden Code hinzu.
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; """
Anzeigen von Ergebnissen in einer Tabelle
Verwenden Sie die Schaltfläche +Markdown oben im Notizbuch, um eine neue Markdownzelle hinzuzufügen.
Fügen Sie der neuen Markdownzelle den folgenden Text hinzu.
## Print orders by customer and display in a tableAktivieren Sie das Häkchen in der Zellensymbolleiste oder verwenden Sie die Tastenkombinationen
Ctrl+EnteroderShift+Enter, um die Markdownzelle zu rendern.Verwenden Sie die Schaltfläche +Code oben im Notizbuch, um eine neue Codezelle hinzuzufügen.
Fügen Sie der neuen Codezelle den folgenden Code hinzu.
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)Tipp
Um die Microsoft Entra-Authentifizierung in macOS zu verwenden, müssen Sie entweder über die Azure Repos-Erweiterung in Visual Studio Code oder über
az logindie Azure Command-Line Interface (CLI) angemeldet sein.Verwenden Sie die Schaltfläche "Alle ausführen" oben im Notizbuch, um das Notizbuch auszuführen.
Wählen Sie den Jupyter-notebook-qs-Kernel aus, wenn Sie dazu aufgefordert werden.
Anzeigen von Ergebnissen in einem Diagramm
Überprüfen Sie die Ausgabe der letzten Zelle. Es sollte eine Tabelle mit drei Spalten und fünf Zeilen angezeigt werden.
Verwenden Sie die Schaltfläche +Markdown oben im Notizbuch, um eine neue Markdownzelle hinzuzufügen.
Fügen Sie der neuen Markdownzelle den folgenden Text hinzu.
## Display spend by category in a horizontal bar chartAktivieren Sie das Häkchen in der Zellensymbolleiste oder verwenden Sie die Tastenkombinationen
Ctrl+EnteroderShift+Enter, um die Markdownzelle zu rendern.Verwenden Sie die Schaltfläche +Code oben im Notizbuch, um eine neue Codezelle hinzuzufügen.
Fügen Sie der neuen Codezelle den folgenden Code hinzu.
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'])Verwenden Sie die Schaltfläche " Zelle ausführen ", oder
Ctrl+Alt+Enterführen Sie die Zelle aus.Überprüfen Sie die Ergebnisse. Machen Sie dieses Notizbuch zu Ihrem eigenen.
Nächster Schritt
Besuchen Sie das mssql-python GitHub-Treiberrepository für weitere Beispiele, um Ideen beizutragen oder Probleme zu melden.