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 mulai cepat ini, gunakan Jupyter Notebook di Visual Studio Code untuk dengan cepat memperoleh wawasan bisnis. Gunakan mssql-python driver untuk Python untuk terhubung ke database SQL Anda, membaca data, lalu memformatnya untuk digunakan dalam email, laporan, dan presentasi.
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.10 atau yang lebih baru
Jika Anda belum memiliki Python, instal runtime Python dan manajer paket pip dari python.org.
Tidak ingin menggunakan lingkungan Anda sendiri? Ikuti Kontainer dan pengembangan lokal untuk membuat lingkungan devcontainer atau GitHub Codespaces yang dapat direproduksi.
Visual Studio Code dengan ekstensi berikut:
Azure Command-Line Interface (CLI) untuk autentikasi tanpa kata sandi di macOS dan Linux.
Jika Anda belum memiliki
uv, ikuti instruksi penginstalan.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
Buat atau sambungkan ke database SQL di salah satu platform berikut:
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, seperti
pythonatauscripts. Hindari folder di OneDrive Anda, karena 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. VS Code memerlukan ipykernel untuk menjalankan sel buku catatan dan uv mengelola paket dari dalam sel buku catatan Anda.
uv add mssql-python 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
Di macOS, baik
ActiveDirectoryInteractivedanActiveDirectoryDefaultberfungsi untuk autentikasi Microsoft Entra.ActiveDirectoryInteractivememinta Anda untuk masuk setiap kali Anda menjalankan skrip. Untuk menghindari permintaan masuk berulang, masuk sekali melalui Azure CLI dengan menjalankanaz login, lalu gunakanActiveDirectoryDefault, yang menggunakan kembali kredensial yang di-cache.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 berikutnya
Gunakan artikel ini untuk terus membangun:
- Bangun string koneksi untuk mengonfigurasi koneksi untuk berbagai jenis database SQL dan metode autentikasi.
- integrasi pandas untuk memuat hasil kueri langsung ke DataFrames untuk analisis di notebook.
- Integrasi Arrow untuk bekerja dengan data kolumnar menggunakan Apache Arrow untuk analitik berkinerja tinggi.