Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In questa guida introduttiva si usa Jupyter Notebook in Visual Studio Code per ricavare rapidamente informazioni aziendali dettagliate. Usare il mssql-python driver per Python per connettersi al database SQL e leggere i dati che vengono quindi formattati per l'uso nei messaggi di posta elettronica, nelle presentazioni dei report e così via.
Il mssql-python driver non richiede dipendenze esterne nei computer Windows. Il driver installa tutti gli elementi necessari con un'unica pip installazione, consentendo di usare la versione più recente del driver per i nuovi script senza interrompere altri script che non è necessario aggiornare e testare.
Documentazione di mssql-python | Codice sorgente mssql-python | Pacchetto (PyPi) | Visual Studio Code
Prerequisiti
Python 3
Se Python non è già disponibile, installare la gestione pacchetti Python runtime e Python Package Index (PyPI) da python.org.
Preferisce non usare il proprio ambiente? Apri come devcontainer usando GitHub Codespaces.
Visual Studio Code con le seguenti estensioni:
Se non si dispone già di
uv, eseguire l'installazioneuvseguendo le istruzioni fornite da https://docs.astral.sh/uv/getting-started/installation/.Un database su SQL Server, un database SQL di Azure o un database SQL in Fabric con lo
AdventureWorks2025schema di esempio e una stringa di connessione valida.Installare prerequisiti specifici del sistema operativo monouso.
Creare un database SQL
Questa guida introduttiva richiede lo schema AdventureWorks2025 Lightweight, su Microsoft SQL Server, nel database SQL di Fabric o nel database SQL di Azure.
Creare il progetto ed eseguire il codice
- Creare un nuovo progetto
- Aggiungere dipendenze
- Avviare Visual Studio Code
- Aggiornare pyproject.toml
- Salvare la stringa di connessione
- Creare un notebook di Jupyter
- Visualizzare i risultati in una tabella
- Visualizzare i risultati in un grafico
Creare un nuovo progetto
Apri un prompt dei comandi nella directory di sviluppo. Se non è disponibile, creare una nuova directory denominata
python,scriptse così via. Evitare cartelle in OneDrive, la sincronizzazione può interferire con la gestione dell'ambiente virtuale.Creare un nuovo progetto con
uv.uv init jupyter-notebook-qs cd jupyter-notebook-qs
Aggiungere dipendenze
Nella stessa directory, installare i pacchetti mssql-python, python-dotenv, rich, pandas e matplotlib. Aggiungi quindi ipykernel e uv come dipendenze di sviluppo. VS Code richiede che ipykernel e uv siano aggiunti per poter interagire con uv dalle tue celle del notebook usando comandi come !uv add mssql_python.
uv add mssql_python dotenv rich pandas matplotlib
uv add --dev ipykernel
uv add --dev uv
Avviare Visual Studio Code
Nella stessa directory eseguire il comando seguente.
code .
Aggiornare pyproject.toml
Pyproject.toml contiene i metadati per il progetto.
Aggiornare la descrizione in modo che sia più descrittiva.
description = "A quick example using the mssql-python driver and Jupyter Notebooks."Salva e chiudi il file.
Salvare la stringa di connessione
Aprire il
.gitignorefile e aggiungere un'esclusione per.envi file. Il file dovrebbe essere simile a questo esempio. Assicurati di salvarlo e chiuderlo quando hai finito.# Python-generated files __pycache__/ *.py[oc] build/ dist/ wheels/ *.egg-info # Virtual environments .venv # Connection strings and secrets .envNella directory corrente creare un nuovo file denominato
.env.All'interno del
.envfile aggiungere una voce per la stringa di connessione denominataSQL_CONNECTION_STRING. Sostituire l'esempio qui con il valore effettivo della stringa di connessione.SQL_CONNECTION_STRING="Server=<server_name>;Database={<database_name>};Encrypt=yes;TrustServerCertificate=no;Authentication=ActiveDirectoryInteractive"Suggerimento
La stringa di connessione usata qui dipende in gran parte dal tipo di database SQL a cui ci si connette. Se ci si connette a un database SQL di Azure o a un database SQL in Fabric, usare la stringa di connessione ODBC dalla scheda Stringhe di connessione. Potrebbe essere necessario modificare il tipo di autenticazione a seconda dello scenario. Per altre informazioni sulle stringhe di connessione e sulla relativa sintassi, vedere informazioni di riferimento sulla sintassi delle stringhe di connessione.
Creare un notebook di Jupyter
Selezionare File, quindi Nuovo file e Jupyter Notebook dall'elenco. Verrà aperto un nuovo notebook.
Selezionare File, quindi Salva con nome e assegnare un nome al nuovo notebook.
Aggiungere le importazioni seguenti nella prima cella.
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 pltUsare il pulsante + Markdown nella parte superiore del notebook per aggiungere una nuova cella markdown.
Aggiungere il testo seguente alla nuova cella markdown.
## Define queries for use laterSelezionare il segno di spunta nella barra degli strumenti delle celle o usare i
Ctrl+Entertasti di scelta rapida oShift+Enterper eseguire il rendering della cella markdown.Usare il pulsante + Codice nella parte superiore del notebook per aggiungere una nuova cella di codice.
Aggiungere il codice seguente alla nuova cella di codice.
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; """
Visualizzare i risultati in una tabella
Usare il pulsante + Markdown nella parte superiore del notebook per aggiungere una nuova cella markdown.
Aggiungere il testo seguente alla nuova cella markdown.
## Print orders by customer and display in a tableSelezionare il segno di spunta nella barra degli strumenti delle celle o usare i
Ctrl+Entertasti di scelta rapida oShift+Enterper eseguire il rendering della cella markdown.Usare il pulsante + Codice nella parte superiore del notebook per aggiungere una nuova cella di codice.
Aggiungere il codice seguente alla nuova cella di codice.
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)Suggerimento
Per usare l'autenticazione di Microsoft Entra in macOS, è necessario accedere tramite l'estensione Azure Repos in Visual Studio Code o eseguendo
az logintramite l'interfaccia a riga di comando di Azure.Usare il pulsante Esegui tutto nella parte superiore del notebook per eseguire il notebook.
Selezionare il kernel jupyter-notebook-qs quando richiesto.
Visualizzare i risultati in un grafico
Esaminare l'output dell'ultima cella. Verrà visualizzata una tabella con tre colonne e cinque righe.
Usare il pulsante + Markdown nella parte superiore del notebook per aggiungere una nuova cella markdown.
Aggiungere il testo seguente alla nuova cella markdown.
## Display spend by category in a horizontal bar chartSelezionare il segno di spunta nella barra degli strumenti delle celle o usare i
Ctrl+Entertasti di scelta rapida oShift+Enterper eseguire il rendering della cella markdown.Usare il pulsante + Codice nella parte superiore del notebook per aggiungere una nuova cella di codice.
Aggiungere il codice seguente alla nuova cella di codice.
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'])Utilizzare il pulsante Esegui cella o
Ctrl+Alt+Enterper eseguire la cella.Esamina i risultati. Rendi questo notebook tuo.
Passo successivo
Per altri esempi, visitare il mssql-python repository GitHub del driver per contribuire a idee o segnalare problemi.