Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Neste início rápido, utilize o Jupyter Notebook no Visual Studio Code para obter rapidamente informações úteis para a empresa. Use o mssql-python driver do Python para se ligar à sua base de dados SQL, ler os dados e depois formatá-los para uso em emails, relatórios e apresentações.
O mssql-python driver não requer nenhuma dependência externa em máquinas Windows. O driver instala tudo o que precisa com uma única pip instalação, permitindo que você use a versão mais recente do driver para novos scripts sem quebrar outros scripts que você não tem tempo para atualizar e testar.
Documentação | Código-fonte | Pacote (PyPI) | Código Visual Studio
Pré-requisitos
Python 3.10 ou posterior.
Se ainda não tens o Python, instala o runtime do Python e o gestor de pacotes pip a partir de python.org.
Não quer usar o seu próprio ambiente? Consulte Container and local development para criar um ambiente devcontainer reproduzível ou um ambiente do GitHub Codespaces.
Visual Studio Code com as seguintes extensões:
Azure Command-Line Interface (CLI) para autenticação sem palavra-passe no macOS e Linux.
Se ainda não tiver
uv, siga as instruções de instalação.Um banco de dados no SQL Server, Banco de Dados SQL do Azure ou Banco de Dados SQL no Fabric com o
AdventureWorks2025esquema de exemplo e uma cadeia de conexão válida.
Pré-requisitos para instalar o sistema operativo
Instale pré-requisitos que devem ser instalados uma única vez específicos do sistema operacional. Os utilizadores do Windows podem saltar este passo. Para detalhes completos da plataforma, consulte Instalar mssql-python.
Criar um banco de dados SQL
Criar ou ligar-se a uma base de dados SQL numa das seguintes plataformas:
- Banco de Dados SQL do Azure
- Base de dados SQL no Fabric
- Servidor Microsoft SQL
- container do SQL Server
Criar um banco de dados SQL em minutos usando o portal do Azure
Crie o projeto e execute o código
- Criar um novo projeto
- Adicionar dependências
- Iniciar o Visual Studio Code
- Atualizar pyproject.toml
- Salvar a cadeia de conexão
- Criar um Jupyter Notebook
- Exibir resultados em uma tabela
- Exibir resultados em um gráfico
Criar um novo projeto
Abra um prompt de comando no diretório de desenvolvimento. Se não tiver um, crie um novo diretório, como
pythonouscripts. Evite pastas no seu OneDrive, pois a sincronização pode interferir na gestão do seu ambiente virtual.Crie um novo projeto com
uv.uv init jupyter-notebook-qs cd jupyter-notebook-qs
Adicionar dependências
No mesmo diretório, instale os pacotes mssql-python, python-dotenv, rich, pandas e matplotlib. Em seguida, adicione ipykernel e uv como dependências de desenvolvimento. O VS Code exige ipykernel para executar células do bloco de notas e uv para gerir pacotes a partir das células do bloco de notas.
uv add mssql-python python-dotenv rich pandas matplotlib
uv add --dev ipykernel
uv add --dev uv
Abra o Visual Studio Code.
No mesmo diretório, execute o seguinte comando.
code .
Atualizar pyproject.toml
Abra o
pyproject.tomlarquivo no editor. Este ficheiro contém os metadados do seu projeto.Atualize o valor
description.description = "A quick example using the mssql-python driver and Jupyter Notebooks."Salve e feche o arquivo.
Salvar a cadeia de conexão
Abra o
.gitignorearquivo e adicione uma exclusão para.envarquivos. O seu ficheiro deve ser semelhante ao exemplo seguinte.# Python-generated files __pycache__/ *.py[oc] build/ dist/ wheels/ *.egg-info # Virtual environments .venv # Connection strings and secrets .envSalve e feche
.gitignore.No diretório atual, crie um novo arquivo chamado
.env.Dentro do
.envarquivo, adicione uma entrada para sua cadeia de conexão chamadaSQL_CONNECTION_STRING. Substitua os espaços reservados pelos seus valores reais.SQL_CONNECTION_STRING="Server=<server>;Database=<database>;Encrypt=yes;TrustServerCertificate=no;Authentication=ActiveDirectoryInteractive"A cadeia de ligação depende do tipo de base de dados SQL a que estás a ligar. Para Base de Dados SQL do Azure ou base de dados SQL no Fabric, use a cadeia de ligação ODBC do separador cadeia de ligaçãos e ajuste o tipo de autenticação para o seu cenário. Para mais informações sobre a sintaxe das cadeia de ligação, veja Connection strings for mssql-python.
Sugestão
No macOS, tanto
ActiveDirectoryInteractivecomoActiveDirectoryDefaultfuncionam para a autenticação do Microsoft Entra.ActiveDirectoryInteractiveSolicita-te para iniciar sessão sempre que executas o script. Para evitar repetidos prompts de início de sessão, inicie sessão uma vez com o comando CLI do Azureaz logine useActiveDirectoryDefault.ActiveDirectoryDefaultReutiliza a credencial em cache.
Criar um Jupyter Notebook
Selecione Arquivo e, em seguida, Novo arquivo e Jupyter Notebook na lista. Um novo bloco de anotações é aberto.
Selecione Ficheiro, depois Guardar Como... e dê um nome ao seu novo bloco de notas.
Adicione as seguintes importações na primeira célula.
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 pltUse o botão + Markdown na parte superior do bloco de anotações para adicionar uma nova célula de marcação.
Adicione o seguinte texto à nova célula de marcação.
## Define queries for use laterSelecione a marca de seleção na barra de ferramentas da célula ou use os atalhos
Ctrl+Enterde teclado ouShift+Enterpara renderizar a célula de marcação.Use o botão + Código na parte superior do bloco de anotações para adicionar uma nova célula de código.
Adicione o seguinte código à nova célula de código.
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; """
Exibir resultados em uma tabela
Use o botão + Markdown na parte superior do bloco de anotações para adicionar uma nova célula de marcação.
Adicione o seguinte texto à nova célula de marcação.
## Print orders by customer and display in a tableSelecione a marca de seleção na barra de ferramentas da célula ou use os atalhos
Ctrl+Enterde teclado ouShift+Enterpara renderizar a célula de marcação.Use o botão + Código na parte superior do bloco de anotações para adicionar uma nova célula de código.
Adicione o seguinte código à nova célula de código.
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)Use o botão Executar Tudo na parte superior do notebook para executar o notebook.
Selecione o kernel jupyter-notebook-qs quando solicitado.
Exibir resultados em um gráfico
Revise a saída da célula anterior. Você verá uma tabela com três colunas e cinco linhas.
Use o botão + Markdown na parte superior do bloco de anotações para adicionar uma nova célula de marcação.
Adicione o seguinte texto à nova célula de marcação.
## Display spend by category in a horizontal bar chartSelecione a marca de seleção na barra de ferramentas da célula ou use os atalhos
Ctrl+Enterde teclado ouShift+Enterpara renderizar a célula de marcação.Use o botão + Código na parte superior do bloco de anotações para adicionar uma nova célula de código.
Adicione o seguinte código à nova célula de código.
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'])Use o botão Executar célula ou
Ctrl+Alt+Enterpara executar a célula.Analise o gráfico.