Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Dalam panduan cepat ini, Anda menggunakan Jupyter Notebook di Visual Studio Code untuk mendapatkan wawasan bisnis dengan cepat. Anda menggunakan mssql-python driver untuk Python untuk menyambungkan ke database SQL Anda dan membaca data yang kemudian diformat untuk digunakan dalam email, melaporkan presentasi, dll.
Driver mssql-python tidak memerlukan dependensi eksternal apa pun pada komputer Windows. Driver menginstal semua yang dibutuhkan dengan satu pip instalasi, memungkinkan Anda menggunakan versi terbaru driver untuk skrip baru tanpa merusak skrip lain yang belum sempat Anda tingkatkan dan uji.
dokumentasi mssql-python | kode sumber mssql-python | Paket (PyPi) | Visual Studio Code
Prasyarat
Python 3
Jika Anda belum memiliki Python, instal manajer paket runtime Python dan Python Package Index (PyPI) dari python.org.
Lebih memilih untuk tidak menggunakan lingkungan Anda sendiri? Buka sebagai devcontainer menggunakan GitHub Codespaces.
Visual Studio Code dengan ekstensi berikut:
Jika Anda belum memiliki
uv, instaluvdengan mengikuti instruksi dari https://docs.astral.sh/uv/getting-started/installation/.Database di SQL Server, Azure SQL Database, atau database SQL di Fabric dengan
AdventureWorks2025skema sampel dan string koneksi yang valid.Instal prasyarat khusus sistem operasi satu kali.
Membuat basis data SQL
Mulai cepat ini memerlukan skema AdventureWorks2025 Lightweight , di Microsoft SQL Server, database SQL di Fabric atau Azure SQL Database.
Membuat proyek dan menjalankan kode
- Membuat proyek baru
- Menambahkan dependensi
- Luncurkan Visual Studio Code
- Memperbarui pyproject.toml
- Simpan string koneksi
- Membuat Jupyter Notebook
- Menampilkan hasil dalam tabel
- Menampilkan hasil dalam bagan
Membuat proyek baru
Buka jendela perintah di direktori pengembangan Anda. Jika Anda tidak memilikinya, buat direktori baru yang disebut
python, ,scriptsdll. Hindari folder di OneDrive Anda, sinkronisasi dapat mengganggu pengelolaan lingkungan virtual Anda.Buat proyek baru dengan
uv.uv init jupyter-notebook-qs cd jupyter-notebook-qs
Tambah dependensi
Di direktori yang sama, instal paket mssql-python, python-dotenv, rich, pandas, dan matplotlib. Kemudian tambahkan ipykernel dan uv sebagai dependensi dev. Visual Studio Code memerlukan agar ipykernel dan uv ditambahkan untuk dapat berinteraksi dengan uv dalam sel buku catatan Anda menggunakan perintah seperti !uv add mssql_python.
uv add mssql_python dotenv rich pandas matplotlib
uv add --dev ipykernel
uv add --dev uv
Luncurkan Visual Studio Code
Di direktori yang sama, jalankan perintah berikut.
code .
Memperbarui pyproject.toml
pyproject.toml berisi metadata untuk proyek Anda.
Perbarui deskripsi agar lebih deskriptif.
description = "A quick example using the mssql-python driver and Jupyter Notebooks."Simpan dan tutup file.
Simpan string koneksi
.gitignoreBuka file dan tambahkan pengecualian untuk.envfile. File Anda harus mirip dengan contoh ini. Pastikan untuk menyimpan dan menutupnya setelah selesai.# Python-generated files __pycache__/ *.py[oc] build/ dist/ wheels/ *.egg-info # Virtual environments .venv # Connection strings and secrets .envDi direktori saat ini, buat file baru bernama
.env.Di dalam file
.env, tambahkan entri untuk string koneksi Anda yang bernamaSQL_CONNECTION_STRING. Ganti contoh di sini dengan nilai string koneksi Anda yang sebenarnya.SQL_CONNECTION_STRING="Server=<server_name>;Database={<database_name>};Encrypt=yes;TrustServerCertificate=no;Authentication=ActiveDirectoryInteractive"Petunjuk / Saran
String koneksi yang digunakan di sini sebagian besar tergantung pada jenis database SQL yang Anda sambungkan. Jika Anda menyambungkan ke Azure SQL Database atau database SQL di Fabric, gunakan string koneksi ODBC dari tab string koneksi. Anda mungkin perlu menyesuaikan jenis autentikasi tergantung pada skenario Anda. Untuk informasi selengkapnya tentang string koneksi dan sintaksnya, lihat referensi sintaks string koneksi.
Membuat Jupyter Notebook
Pilih File, lalu File Baru dan Jupyter Notebook dari daftar. Buku catatan baru terbuka.
Pilih File, lalu Simpan Sebagai... dan beri nama buku catatan baru Anda.
Tambahkan impor berikut di sel pertama.
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 pltGunakan tombol + Markdown di bagian atas buku catatan untuk menambahkan sel markdown baru.
Tambahkan teks berikut ke sel markdown baru.
## Define queries for use laterPilih tanda centang di toolbar sel atau gunakan pintasan keyboard
Ctrl+EnteratauShift+Enteruntuk merender sel markdown.Gunakan tombol + Kode di bagian atas buku catatan untuk menambahkan sel kode baru.
Tambahkan kode berikut ke sel kode baru.
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; """
Menampilkan hasil dalam tabel
Gunakan tombol + Markdown di bagian atas buku catatan untuk menambahkan sel markdown baru.
Tambahkan teks berikut ke sel markdown baru.
## Print orders by customer and display in a tablePilih tanda centang di toolbar sel atau gunakan pintasan keyboard
Ctrl+EnteratauShift+Enteruntuk merender sel markdown.Gunakan tombol + Kode di bagian atas buku catatan untuk menambahkan sel kode baru.
Tambahkan kode berikut ke sel kode baru.
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)Petunjuk / Saran
Untuk menggunakan Autentikasi Microsoft Entra di macOS, Anda harus masuk melalui ekstensi Azure Repos di Visual Studio Code, atau dengan menjalankan
az loginmelalui Antarmuka Command-Line Azure (CLI).Gunakan tombol Jalankan Semua di bagian atas buku catatan untuk menjalankan buku catatan.
Pilih kernel jupyter-notebook-qs saat diminta.
Menampilkan hasil dalam bagan
Tinjau output sel terakhir. Anda akan melihat tabel dengan tiga kolom dan lima baris.
Gunakan tombol + Markdown di bagian atas buku catatan untuk menambahkan sel markdown baru.
Tambahkan teks berikut ke sel markdown baru.
## Display spend by category in a horizontal bar chartPilih tanda centang di toolbar sel atau gunakan pintasan keyboard
Ctrl+EnteratauShift+Enteruntuk merender sel markdown.Gunakan tombol + Kode di bagian atas buku catatan untuk menambahkan sel kode baru.
Tambahkan kode berikut ke sel kode baru.
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'])Gunakan tombol Jalankan Sel atau
Ctrl+Alt+Enteruntuk menjalankan sel.Tinjau hasilnya. Jadikan buku catatan ini milik Anda sendiri.
Langkah selanjutnya
mssql-python Kunjungi repositori GitHub driver untuk contoh lebih lanjut, untuk menyumbangkan ide atau melaporkan masalah.