Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans ce démarrage rapide, utilisez Jupyter Notebook dans Visual Studio Code pour rapidement obtenir des insights métier. Utilisez le mssql-python pilote de Python pour vous connecter à votre base de données SQL, lire les données, puis les formater pour les utiliser dans des e-mails, rapports et présentations.
Le mssql-python pilote ne nécessite aucune dépendance externe sur les machines Windows. Le pilote installe tout ce dont il a besoin avec une seule pip installation, ce qui vous permet d’utiliser la dernière version du pilote pour les nouveaux scripts sans interrompre d’autres scripts que vous n’avez pas le temps de mettre à niveau et de tester.
documentation mssql-python | code source mssql-python | Package (PyPI) | Visual Studio Code
Prerequisites
Python 3.10 ou version ultérieure.
Si vous n’avez pas encore Python, installez le runtime Python et le gestionnaire de package pip à partir de python.org.
Ne souhaitez pas utiliser votre propre environnement ? Suivez Container et le développement local pour créer un devcontainer reproductible ou un environnement GitHub Codespaces.
Visual Studio Code avec les extensions suivantes :
Azure Command-Line Interface (CLI) pour l’authentification sans mot de passe sur macOS et Linux.
Si vous n’avez
uvpas encore, suivez les instructions d’installation.Base de données sur SQL Server, Azure SQL Database ou base de données SQL dans Fabric avec l’exemple
AdventureWorks2025de schéma et une chaîne de connexion valide.
Prérequis pour installer le système d’exploitation
Installez les prérequis ponctuels spécifiques au système d'exploitation. Les utilisateurs Windows peuvent sauter cette étape. Pour tous les détails sur la plateforme, voir Installer mssql-python.
Créer une base de données SQL
Créer ou connecter une base de données SQL sur l’une des plateformes suivantes :
Créer le projet et exécuter le code
- Créer un projet
- Ajouter des dépendances
- Lancer Visual Studio Code
- Mettre à jour pyproject.toml
- Enregistrer la chaîne de connexion
- Créer un notebook Jupyter
- Afficher les résultats dans un tableau
- Afficher les résultats dans un graphique
Créer un projet
Ouvrez une invite de commandes dans votre répertoire de développement. Si vous n’en avez pas, créez un nouveau répertoire, tel que
pythonouscripts. Évitez les dossiers sur votre OneDrive, car la synchronisation peut interférer avec la gestion de votre environnement virtuel.Créez un projet avec
uv.uv init jupyter-notebook-qs cd jupyter-notebook-qs
Ajouter des dépendances
Dans le même répertoire, installez les paquets mssql-python, python-dotenv, rich, pandas, et matplotlib. Ensuite, ajoutez ipykernel et uv comme dépendances de développement. VS Code nécessite ipykernel pour exécuter les cellules de bloc-notes et uv pour gérer les paquets directement depuis les cellules de votre bloc-notes.
uv add mssql-python python-dotenv rich pandas matplotlib
uv add --dev ipykernel
uv add --dev uv
Lancer Visual Studio Code
Dans le même répertoire, exécutez la commande suivante.
code .
Mettre à jour pyproject.toml
Ouvrez le fichier
pyproject.tomldans votre éditeur. Ce fichier contient les métadonnées de votre projet.Mettez à jour la valeur
description.description = "A quick example using the mssql-python driver and Jupyter Notebooks."Enregistrez et fermez le fichier.
Enregistrer la chaîne de connexion
Ouvrez le
.gitignorefichier et ajoutez une exclusion pour.envles fichiers. Votre fichier devrait être similaire à l’exemple suivant.# Python-generated files __pycache__/ *.py[oc] build/ dist/ wheels/ *.egg-info # Virtual environments .venv # Connection strings and secrets .envEnregistrez et fermez
.gitignore.Dans le répertoire actif, créez un fichier nommé
.env.Dans le
.envfichier, ajoutez une entrée pour votre chaîne de connexion nomméeSQL_CONNECTION_STRING. Remplacez les espaces réservés par vos valeurs réelles.SQL_CONNECTION_STRING="Server=<server>;Database=<database>;Encrypt=yes;TrustServerCertificate=no;Authentication=ActiveDirectoryInteractive"La chaîne de connexion dépend du type de base de données SQL à laquelle vous vous connectez. Pour Azure SQL Database ou SQL Database dans Fabric, utilisez la chaîne de connexion ODBC depuis l’onglet des chaînes de connexion, et ajustez le type d’authentification pour votre scénario. Pour plus d’informations sur la syntaxe des chaîne de connexion, voir Chaînes de connexion pour mssql-python.
Conseil / Astuce
Sur macOS, les deux
ActiveDirectoryInteractiveetActiveDirectoryDefaultfonctionnent pour l’authentification Microsoft Entra.ActiveDirectoryInteractivevous invite à vous connecter chaque fois que vous exécutez le script. Pour éviter les invites de connexion répétées, connectez-vous une fois avec la commande Azure CLIaz loginet utilisezActiveDirectoryDefault.ActiveDirectoryDefaultRéutilise les informations d’identification mises en cache.
Créer un notebook Jupyter
Sélectionnez Fichier, puis Nouveau fichier et Jupyter Notebook dans la liste. Un nouveau bloc-notes s’ouvre.
Sélectionnez Fichier, puis Enregistrez sous... et donnez un nom à votre nouveau bloc-notes.
Ajoutez les importations suivantes dans la première cellule.
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 pltUtilisez le bouton + Markdown en haut du bloc-notes pour ajouter une nouvelle cellule Markdown.
Ajoutez le texte suivant à la nouvelle cellule markdown.
## Define queries for use laterSélectionnez la coche dans la barre d’outils de la cellule ou utilisez les raccourcis clavier
Ctrl+EnterouShift+Enterpour afficher la cellule Markdown.Utilisez le bouton + Code en haut du bloc-notes pour ajouter une nouvelle cellule de code.
Ajoutez le code suivant à la nouvelle cellule de code.
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; """
Afficher les résultats dans un tableau
Utilisez le bouton + Markdown en haut du bloc-notes pour ajouter une nouvelle cellule Markdown.
Ajoutez le texte suivant à la nouvelle cellule markdown.
## Print orders by customer and display in a tableSélectionnez la coche dans la barre d’outils de la cellule ou utilisez les raccourcis clavier
Ctrl+EnterouShift+Enterpour afficher la cellule Markdown.Utilisez le bouton + Code en haut du bloc-notes pour ajouter une nouvelle cellule de code.
Ajoutez le code suivant à la nouvelle cellule de code.
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)Utilisez le bouton Exécuter tout en haut du bloc-notes pour exécuter le bloc-notes.
Sélectionnez le noyau jupyter-notebook-qs lorsque vous y êtes invité.
Afficher les résultats dans un graphique
Examinez la sortie de la cellule précédente. Vous devez voir un tableau avec trois colonnes et cinq lignes.
Utilisez le bouton + Markdown en haut du bloc-notes pour ajouter une nouvelle cellule Markdown.
Ajoutez le texte suivant à la nouvelle cellule markdown.
## Display spend by category in a horizontal bar chartSélectionnez la coche dans la barre d’outils de la cellule ou utilisez les raccourcis clavier
Ctrl+EnterouShift+Enterpour afficher la cellule Markdown.Utilisez le bouton + Code en haut du bloc-notes pour ajouter une nouvelle cellule de code.
Ajoutez le code suivant à la nouvelle cellule de code.
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'])Utilisez le bouton Exécuter la cellule ou
Ctrl+Alt+Enterpour exécuter la cellule.Examinez le graphique.