Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu hızlı başlangıçta, Visual Studio Code'ta Jupyter Notebook'u kullanarak iş içgörülerini hızlıca elde edebilirsiniz.
mssql-python Python sürücüsünü kullanarak SQL veritabanınıza bağlanın, verileri okuyun ve ardından e-postalarda, raporlarda ve sunumlarda kullanılacak şekilde biçimlendirin.
Sürücü, mssql-python Windows makinelerinde dış bağımlılık gerektirmez. Sürücü, ihtiyaç duyduğu her şeyi tek pip bir yüklemeyle yükler ve yükseltmeye ve test etmeye vaktiniz olmayan diğer betikleri bozmadan yeni betikler için sürücünün en son sürümünü kullanmanıza olanak sağlar.
mssql-python belgeleri | mssql-python kaynak kodu | Paket (PyPI) | Visual Studio Code
Önkoşullar
Python 3.10 veya üzeri.
Python'larınız yoksa, python.orgPython çalışma zamanını ve pip paket yöneticisini yükleyin.
Kendi ortamınızı kullanmak istemiyor musunuz? Container ve yerel geliştirmeyi takip ederek tekrarlanabilir bir devcontainer veya GitHub Codespaces ortamı oluşturun.
Visual Studio Code aşağıdaki uzantılarla:
Visual Studio Code için Python uzantısı
macOS ve Linux'ta parolasız kimlik doğrulaması için Azure Command-Line Arabirimi (CLI).
henüz sahip
uvdeğilseniz yükleme yönergelerini izleyin.SQL Server, Azure SQL Veritabanı veya Fabric'teki SQL veritabanından biri üzerinde
AdventureWorks2025örnek şema ve geçerli bir bağlantı dizesi.
İşletim sistemi ön koşullarını kurma
Tek seferlik işletim sistemine özgü önkoşulları yükleyin. Windows kullanıcıları bu adımı atlayabilir. Platformun tam detayları için mssql-python'u Install sayfasına bakınız.
SQL veritabanı oluşturma
Aşağıdaki platformlardan birinde bir SQL veritabanı oluşturun veya bağlanın:
Projeyi oluşturma ve kodu çalıştırma
- Yeni proje oluşturma
- Bağımlılık ekleme
- Visual Studio Code'ı başlatma
- pyproject.toml güncelleştirme
- Bağlantı dizesini kaydetme
- Jupyter Not Defteri oluştur
- Sonuçları tabloda görüntüleme
- Sonuçları grafikte görüntüleme
Yeni proje oluşturma
Geliştirme dizininizde bir komut istemi açın. Eğer bir dizin yoksa, yeni bir dizin oluşturun, örneğin
pythonveyascripts. OneDrive'ınızdaki klasörlerden kaçının, çünkü senkronizasyon sanal ortamınızı yönetmenize engel olabilir.-
uv init jupyter-notebook-qs cd jupyter-notebook-qs
Bağımlılık ekleme
Aynı dizinde , , mssql-python, python-dotenvrichve pandas paketlerini yükleyinmatplotlib. Ardından ipykernel ve uv öğelerini geliştirme bağımlılıkları olarak ekleyin. VS Code'un not defteri hücrelerini çalıştırmak için ipykernel ve not defteri hücrelerinizin içinden paketleri yönetmek için uv gerekir.
uv add mssql-python python-dotenv rich pandas matplotlib
uv add --dev ipykernel
uv add --dev uv
Visual Studio Code'ı başlatma
Aynı dizinde aşağıdaki komutu çalıştırın.
code .
pyproject.toml güncelle
pyproject.tomlDosyayı düzenleyicinizde açın. Bu dosya, projenizin meta verilerini içerir.Değeri
descriptiongüncelleyin.description = "A quick example using the mssql-python driver and Jupyter Notebooks."Dosyayı kaydedin ve kapatın.
Bağlantı dizesini kaydetme
.gitignoredosyasını açın ve.envdosyaları için bir dışlama ekleyin. Dosyanız aşağıdaki örneğe benzer olmalıdır.# Python-generated files __pycache__/ *.py[oc] build/ dist/ wheels/ *.egg-info # Virtual environments .venv # Connection strings and secrets .envkaydedin ve kapatın
.gitignore.Geçerli dizinde adlı
.envyeni bir dosya oluşturun.dosyasının içine
.envbağlantı dizeniz için adlıSQL_CONNECTION_STRINGbir girdi ekleyin. Yer tutucuları gerçek değerlerinizle değiştirin.SQL_CONNECTION_STRING="Server=<server>;Database=<database>;Encrypt=yes;TrustServerCertificate=no;Authentication=ActiveDirectoryInteractive"Bağlantı dizesi, bağlandığınız SQL veritabanı türüne bağlıdır. Azure SQL Veritabanı veya Fabric'teki SQL veritabanı için, bağlantı dizileri sekmesindeki ODBC bağlantı dizesi'i kullanın ve senaryonuza göre kimlik doğrulama türünü ayarlayın. bağlantı dizesi sözdizimi hakkında daha fazla bilgi için mssql-python için bağlantı dizileri bölümünü inceleyebilirsiniz.
Tavsiye
macOS'ta hem
ActiveDirectoryInteractivehem deActiveDirectoryDefaultMicrosoft Entra kimlik doğrulaması için çalışır.ActiveDirectoryInteractivebetiği her çalıştırdığınızda oturum açmanızı ister. Tekrar tekrar giriş istemlerini önlemek için, Azure CLIaz loginkomutuyla bir kez oturum açın veActiveDirectoryDefaultkullanın.ActiveDirectoryDefaultÖnbelleğe alınan kimlik bilgilerini tekrar kullanır.
Jupyter Not Defteri oluşturma
Listeden Dosya'yı, ardından Yeni Dosya ve Jupyter Not Defteri'ni seçin. Yeni bir not defteri açılır.
Dosya'yı ve ardından Farklı Kaydet... öğesini seçin ve yeni not defterinize bir ad verin.
İlk hücreye aşağıdaki kütüphaneleri ekleyin.
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 pltNot defterinin üst kısmındaki + Markdown düğmesini kullanarak yeni bir markdown hücresi ekleyin.
Yeni markdown hücresine aşağıdaki metni ekleyin.
## Define queries for use laterHücredeki araç çubuğunda onay işaretini seçin veya markdown hücresini işlemek için klavye kısayollarını
Ctrl+Enterya daShift+Enterkullanın.Yeni bir kod hücresi eklemek için not defterinin üst kısmındaki + Kod düğmesini kullanın.
Yeni kod hücresine aşağıdaki kodu ekleyin.
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; """
Sonuçları tabloda görüntüleme
Not defterinin üst kısmındaki + Markdown düğmesini kullanarak yeni bir markdown hücresi ekleyin.
Yeni markdown hücresine aşağıdaki metni ekleyin.
## Print orders by customer and display in a tableHücredeki araç çubuğunda onay işaretini seçin veya markdown hücresini işlemek için klavye kısayollarını
Ctrl+Enterya daShift+Enterkullanın.Yeni bir kod hücresi eklemek için not defterinin üst kısmındaki + Kod düğmesini kullanın.
Yeni kod hücresine aşağıdaki kodu ekleyin.
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)Not defterini çalıştırmak için not defterinin üst kısmındaki Tümünü Çalıştır düğmesini kullanın.
İstendiğinde jupyter-notebook-qs çekirdeğini seçin.
Sonuçları grafikte görüntüleme
Önceki hücrenin çıktısını inceleyin. Üç sütunlu ve beş satırlı bir tablo görmeniz gerekir.
Not defterinin üst kısmındaki + Markdown düğmesini kullanarak yeni bir markdown hücresi ekleyin.
Yeni markdown hücresine aşağıdaki metni ekleyin.
## Display spend by category in a horizontal bar chartHücredeki araç çubuğunda onay işaretini seçin veya markdown hücresini işlemek için klavye kısayollarını
Ctrl+Enterya daShift+Enterkullanın.Yeni bir kod hücresi eklemek için not defterinin üst kısmındaki + Kod düğmesini kullanın.
Yeni kod hücresine aşağıdaki kodu ekleyin.
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'])Hücreyi Yürüt düğmesini veya
Ctrl+Alt+Enterhücreyi çalıştırmak için kullanın.Grafiği gözden geçir.