Chuyển đến nội dung chính

Giao diện SQL trong JupyterLab

Tìm hiểu cách sử dụng và chỉnh sửa các bảng SQL trong JupyterLab.
Đã cập nhật 5 thg 10, 2026  · 7 phút đọc

Khám phá cùng AI

ChatGPTClaudePerplexity

Jupyter Notebooks là một phần thiết yếu trong mọi quy trình làm việc về Khoa học Dữ liệu; đến mức nhiều tổ chức như Netflix coi chúng là không thể thiếu. Môi trường tính toán chạy trên trình duyệt, kết hợp với định dạng tài liệu có thể tái lập, đã khiến chúng trở thành lựa chọn mặc định của hàng triệu nhà khoa học dữ liệu và nhà nghiên cứu trên toàn thế giới. Jupyter tự hào có một cộng đồng quốc tế lớn mạnh đến từ hầu như mọi quốc gia. Chính cộng đồng đã phát triển rất nhiều kernel.

Jupyter Lab là giao diện người dùng thế hệ tiếp theo cho Dự án Jupyter, cung cấp tất cả các khối xây dựng quen thuộc của Jupyter Notebook cổ điển như notebook, terminal, trình soạn thảo văn bản, trình duyệt tệp, hiển thị kết quả phong phú, v.v. Tuy nhiên, khác với notebook cổ điển, tất cả tính năng này được cung cấp trong một giao diện người dùng linh hoạt và mạnh mẽ. Ý tưởng cốt lõi của Jupyter Lab là đưa toàn bộ những khối xây dựng vốn có trong notebook cổ điển, cộng thêm một số thứ mới, vào chung một nơi.

jupyter

JupyterLab hiển thị khu vực làm việc với notebook, tệp văn bản, terminal và kết quả notebook, tất cả đều có thể tương tác với nhau.

Trước hết, hãy cài đặt và chạy Jupyter Lab trên hệ thống của chúng ta.

Cài đặt

Có thể cài đặt JupyterLab bằng conda, pip hoặc pipenv.

conda install -c conda-forge jupyterlab
or
pip install jupyterlab
or
pipenv install jupyterlab
pipenv shell

Tham khảo tài liệu cài đặt chính thức để biết thêm chi tiết.

Khởi động JupyterLab

Bạn có thể khởi động Jupyter chỉ bằng cách gõ lệnh sau trong console:

jupyter lab

JupyterLab sẽ tự động mở trong trình duyệt với giao diện giống như dưới đây. Điều này có nghĩa là mọi thứ đã sẵn sàng và bạn có thể bắt đầu.

khu vực làm việc chính

Khu vực làm việc chính là nơi diễn ra hoạt động thực tế. Nó bao gồm notebook, tài liệu, console, terminal, v.v. Chỉ cần nhấp đúp hoặc kéo một tệp vào khu vực này để bắt đầu làm việc.

Giao diện SQL cho JupyterLab

jupyter

Phần lớn thời gian, dữ liệu chúng ta làm việc được lưu trong các tệp gọi là cơ sở dữ liệu, và một nhiệm vụ thiết yếu của Nhà khoa học Dữ liệu là có thể truy cập dữ liệu từ cơ sở dữ liệu rồi phân tích. Do đó, việc có một giao diện liền mạch giữa cơ sở dữ liệu SQL và Jupyter Notebook/Lab là một ý tưởng tuyệt vời, giúp việc truy cập và thao tác dữ liệu dễ dàng và hiệu quả hơn. Có thể thiết lập giao diện này theo hai cách:

1. Sử dụng phần mở rộng IPython SQL Magic

Lệnh Magic là một tập hợp các hàm tiện lợi trong Jupyter Notebooks, được thiết kế để giải quyết một số vấn đề thường gặp trong phân tích dữ liệu tiêu chuẩn. Bạn có thể xem tất cả các magic khả dụng với %lsmagic.

Phần mở rộng IPython SQL magic cho phép viết câu lệnh SQL trực tiếp vào các ô mã và đọc kết quả thẳng vào pandas DataFrame (Nguồn). Phần mở rộng này hoạt động cho cả notebook cổ điển và Jupyter Lab hiện đại.

Cài đặt mô-đun SQL trong notebook

 !pip install ipython-sql

Nạp mô-đun SQL

 %load_ext sql

Lệnh magic trên sẽ nạp phần mở rộng ipython-sql. Chúng ta có thể kết nối đến bất kỳ cơ sở dữ liệu nào được SQLAlchemy hỗ trợ. Ở đây, chúng ta sẽ kết nối đến cơ sở dữ liệu SQLite. Nhập lệnh sau trong ô mã:

%sql sqlite://

Nếu bạn nhận được kết quả là ‘Connected: @None', nghĩa là kết nối đã được thiết lập.

  • Tạo cơ sở dữ liệu

Cuối cùng, chúng ta tạo một bảng demo tên EMPLOYEES để trình diễn chức năng.

%%sql
CREATE TABLE EMPLOYEE(firstname varchar(50),lastname varchar(50));
INSERT INTO EMPLOYEE VALUES('Tom','Mitchell');
INSERT INTO EMPLOYEE VALUES('Jack','Ryan');

Bây giờ chúng ta có thể thực thi truy vấn trên cơ sở dữ liệu.

 %sql SELECT * from EMPLOYEE;
 ----------------------------------
 * sqlite://
 Done. 

Truy vấn trên trả về bảng như sau.

bảng
  • Làm việc với cơ sở dữ liệu hiện có

Chúng ta cũng có thể kết nối tới một cơ sở dữ liệu hiện có bằng hàm magic. Trong hướng dẫn này, chúng ta sẽ sử dụng cơ sở dữ liệu SQL_SAFI (Studying African Farmer-led Irrigation (SAFI) database). "Dự án SAFI là dự án nghiên cứu về phương pháp canh tác và tưới tiêu do nông dân ở Tanzania và Mozambique áp dụng. Bộ dữ liệu này gồm dữ liệu khảo sát liên quan đến hộ gia đình và nông nghiệp" (Nguồn). Bạn có thể tải về từ đây.

 #Specifying the path of the database
 %sql sqlite:////Users/Parul/Desktop/SQL_SAFI.sqlite
 -----------------------------------------------------------

 'Connected: @/Users/Parul/Desktop/SQL_SAFI.sqlite' 

Câu lệnh trên đã mở cơ sở dữ liệu tên SQL_SAFI.sqlite nằm tại đường dẫn: Users/Parul/Desktop. Hãy chọn bảng Crops và hiển thị nội dung của nó.

%sql select * from Crops
cơ sở dữ liệu

Hiển thị một vài hàng đầu tiên của bảng Crops

 %sql select * from Crops where D_curr_crop = "maize" AND ID <= 3;
bảng crops

Kết quả cũng có thể được chuyển thành pandas DataFrame như sau:

result = %sql select * from Crops where D_curr_crop = "maize" AND ID <= 3;
dataframe = result.DataFrame()
pandas dataframe
dataframe.info()
dataframe

2. Phần mở rộng jupyterlab-sql

Trước khi đi tiếp, hãy nói qua về các phần mở rộng của Jupyter nói chung.

Phần mở rộng JupyterLab

Phần mở rộng là một trong những tính năng hữu ích nhất của Jupyter Lab và có thể nâng cao trải nghiệm sử dụng. Về bản chất, Jupyter Lab là một môi trường có thể mở rộng, trong đó notebook, terminal và trình soạn thảo đều là các phần mở rộng.

"Phần mở rộng JupyterLab là các gói npm (định dạng gói tiêu chuẩn trong phát triển Javascript)"(Nguồn). Phần mở rộng cung cấp cách tùy biến và nâng cao trải nghiệm JupyterLab bằng nhiều tùy chọn hữu ích như chủ đề mới, trình xem, phím tắt, tùy chọn cài đặt nâng cao, v.v. Có rất nhiều phần mở rộng do cộng đồng phát triển trên GitHub. Bạn có thể tìm chủ đề GitHub jupyterlab-extension để tìm phần mở rộng.

Để cài đặt phần mở rộng JupyterLab, bạn cần có Node.js, có thể cài từ trang web của họ hoặc như sau.

conda install -c conda-forge nodejs
or
brew install node #for MacOS users

Phần mở rộng jupyterlab-sql là một phần mở rộng hữu ích như vậy, cho phép bạn thêm giao diện người dùng SQL vào Jupyter Lab. Điều này có hai lợi ích chính:

  • Có thể khám phá các bảng SQL chỉ với thao tác trỏ và nhấp.
  • Cũng có thể chỉnh sửa và đọc bảng bằng các truy vấn tùy chỉnh.

Bạn có thể đọc thêm tại kho GitHub chính thức.

Cài đặt

Để cài đặt jupyterlab-sql, chạy các lệnh sau theo đúng thứ tự:

pip install jupyterlab_sql
jupyter serverextension enable jupyterlab_sql --py --sys-prefix
jupyter lab build

Sau đó bạn cần khởi động lại mọi máy chủ Jupyter đang chạy.

Cũng cần lưu ý rằng jupyterlab-sql chỉ hoạt động với Python 3.5 trở lên.

Bắt đầu

Sau khi khởi động lại Jupyter Lab, một biểu tượng SQL mới sẽ xuất hiện trong launcher

jupyter lab

Điều này có nghĩa là mọi thứ đã được cài đặt đúng và bạn sẵn sàng kết nối phiên làm việc với cơ sở dữ liệu.

Kết nối

Để kết nối đến cơ sở dữ liệu, bạn cần có URL cơ sở dữ liệu hợp lệ. jupyterlab-sql đã được kiểm thử rộng rãi với cơ sở dữ liệu SQLite, PostgreSQL và MySQL (Nguồn). Hãy làm theo hướng dẫn SQLAlchemy về URL. URL phải là URL cơ sở dữ liệu, ví dụ:

postgres://localhost:5432/postgres
postgres://username:password@localhost:5432/postgres
mysql://localhost/employees
sqlite://
sqlite:///myfile.db

Hãy kết nối tới cơ sở dữ liệu SQL_SAFI hiện có mà chúng ta đã dùng trước đó. Nhấp vào biểu tượng SQL trong launcher và nhập URL cơ sở dữ liệu. Nhấn enter để kết nối.

cơ sở dữ liệu sql

Ngay khi cơ sở dữ liệu được kết nối, bạn có thể xem tất cả các bảng trong đó.

tất cả bảng
tất cả bảng

Tiếp theo, chúng ta cũng có thể viết các truy vấn SQL tùy chỉnh để lấy dữ liệu mong muốn từ các bảng.

Kết luận

Kết hợp SQL và JupyterLab giúp nâng tầm phân tích dữ liệu. Giao diện jupyter-sql giúp kết nối SQL Server với hệ sinh thái Jupyter và trích xuất dữ liệu trực tiếp vào đó một cách dễ dàng, không cần rời khỏi giao diện Jupyter.

Nếu bạn muốn tìm hiểu thêm về SQL, hãy tham gia khóa học Data-Driven Decision Making in SQL của DataCamp.

Xem thêm hướng dẫn Remote Python and R in SQL của chúng tôi.

Chủ đề
SQL
Khoa học Dữ liệu

Khóa học liên quan

Khóa học

Xử lý dữ liệu trong SQL

4 giờ
338.8K
Thành thạo truy vấn SQL phức tạp để giải đáp nhiều câu hỏi về Khoa học dữ liệu và chuẩn bị bộ dữ liệu đáng tin cậy để phân tích trong PostgreSQL.
Xem chi tiếtRight Arrow
Bắt Đầu Khóa Học
Xem thêmRight Arrow
Liên quan

blog

Claude Opus 4.6: Tính năng, Điểm chuẩn, Bài kiểm tra thực hành và hơn thế nữa

Mô hình mới nhất của Anthropic dẫn đầu ở mã hóa tác tử và lập luận phức tạp. Thêm vào đó, nó có cửa sổ ngữ cảnh 1M.
Matt Crabtree's photo

Matt Crabtree

10 phút

Xem ThêmXem Thêm