Ir al contenido principal

Interfaz SQL en JupyterLab

Aprende a usar y modificar tablas SQL dentro de JupyterLab.
Actualizado 17 sept 2026  · 7 min leer

Explorar con IA

ChatGPTClaudePerplexity

Jupyter Notebooks son una pieza clave en cualquier flujo de trabajo de ciencia de datos; de hecho, empresas como Netflix los consideran imprescindibles. Su entorno de computación en el navegador, unido a un formato de documentos reproducibles, los ha convertido en la opción de referencia para millones de científicos de datos e investigadores en todo el mundo. Jupyter presume de contar con una gran comunidad internacional, con miembros de casi todos los países. La propia comunidad ha desarrollado multitud de kernels.

Jupyter Lab es la interfaz de usuario de nueva generación de Project Jupyter. Ofrece todos los bloques habituales del clásico Jupyter Notebook —notebook, terminal, editor de texto, explorador de archivos, salidas ricas, etc.— pero, a diferencia del clásico, todos estos elementos se integran en una interfaz flexible y potente. La idea de Jupyter Lab es reunir bajo un mismo techo todos los componentes del notebook clásico, más algunas novedades.

jupyter

JupyterLab mostrando su área de trabajo con notebooks, archivos de texto, terminales y salidas de notebooks, todos capaces de interactuar entre sí.

Primero, instalemos Jupyter Lab y echemos a andar la herramienta en nuestros sistemas.

Instalación

JupyterLab se puede instalar con conda, pip o pipenv.

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

Consulta la documentación oficial de instalación para más detalles.

Iniciar JupyterLab

Puedes arrancar Jupyter simplemente escribiendo lo siguiente en la consola:

jupyter lab

JupyterLab se abrirá automáticamente en el navegador con una interfaz similar a la de abajo. Esto significa que todo está en su sitio y puedes empezar a trabajar.

área de trabajo principal

El área de trabajo principal es donde sucede la acción. Incluye notebooks, documentos, consolas, terminales, etc. Haz doble clic o arrastra un archivo a esta zona para empezar a trabajar.

Certifícate en SQL

Demuestra que tus conocimientos de SQL están preparados para el trabajo con una certificación.
Impulsar Mi Carrera

Interfaz SQL para JupyterLab

jupyter

La mayoría de las veces, los datos con los que trabajamos se almacenan en bases de datos, y una tarea esencial de cualquier científico de datos es poder acceder a esos datos para analizarlos. Por eso, contar con una interfaz fluida entre bases de datos SQL y Jupyter Notebook/Lab facilita y agiliza el acceso y la manipulación de datos. Esta integración puede lograrse de dos formas:

1. Usar la extensión IPython SQL Magic

Los comandos mágicos son un conjunto de funciones prácticas en Jupyter Notebooks diseñadas para resolver problemas comunes en el análisis de datos. Puedes ver todos los magics disponibles con %lsmagic.

La extensión IPython SQL magic permite escribir consultas SQL directamente en las celdas de código y leer los resultados en DataFrames de pandas (Fuente). Funciona tanto en los notebooks clásicos como en Jupyter Lab.

Instalar el módulo SQL en el notebook

 !pip install ipython-sql

Cargar el módulo SQL

 %load_ext sql

El comando mágico anterior carga la extensión ipython-sql. Podemos conectar con cualquier base de datos compatible con SQLAlchemy. Aquí nos conectaremos a una base de datos SQLite. Escribe el siguiente comando en una celda de código:

%sql sqlite://

Si obtienes ‘Connected: @None', significa que la conexión se ha establecido.

  • Crear una base de datos

Por último, creamos una tabla de demostración llamada EMPLOYEES para mostrar su funcionamiento.

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

Ahora ya podemos ejecutar consultas sobre nuestra base de datos.

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

La consulta anterior devuelve la siguiente tabla.

tabla
  • Trabajar con una base de datos existente

También podemos conectar a una base de datos existente usando el magic. En este tutorial, utilizaremos la base de datos SQL_SAFI (Studying African Farmer-led Irrigation (SAFI) database). "El Proyecto SAFI es un proyecto de investigación sobre métodos de cultivo y riego utilizados por agricultores en Tanzania y Mozambique. Este conjunto de datos está compuesto por encuestas relacionadas con hogares y agricultura" (Fuente). Puedes descargarla desde aquí.

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

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

La sentencia anterior abrió la base de datos SQL_SAFI.sqlite que reside en la ruta: Users/Parul/Desktop. Seleccionemos la tabla Crops y mostremos su contenido.

%sql select * from Crops
base de datos

Mostrando las primeras filas de la tabla Crops

 %sql select * from Crops where D_curr_crop = "maize" AND ID <= 3;
tabla de cultivos

El resultado también puede convertirse en un DataFrame de pandas, así:

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

2. La extensión jupyterlab-sql

Antes de continuar, hablemos un poco de las extensiones de Jupyter en general.

Extensiones de JupyterLab

Las extensiones son una de las funciones más útiles de Jupyter Lab y pueden mejorar mucho la experiencia. De hecho, Jupyter Lab es en sí mismo un entorno extensible: el notebook, el terminal y el editor existen como extensiones.

"Las extensiones de JupyterLab son paquetes npm (el formato estándar de paquetes en el desarrollo con Javascript)" (Fuente). Permiten personalizar y ampliar JupyterLab con temas nuevos, visores, atajos de teclado, opciones avanzadas de configuración, etc. Hay muchas extensiones creadas por la comunidad en GitHub. Puedes buscar el tema de GitHub jupyterlab-extension para encontrarlas.

Para instalarlas necesitas tener Node.js instalado, ya sea desde su web o de la siguiente forma.

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

La jupyterlab-sql es una extensión muy útil que añade una interfaz de usuario SQL a Jupyter Lab. Tiene dos ventajas principales:

  • Explorar tablas SQL con un simple apuntar y clic.
  • Modificar y leer tablas con consultas personalizadas.

Puedes leer más en el repositorio de Github oficial.

Instalación

Para instalar jupyterlab-sql, ejecuta los siguientes comandos en este orden:

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

Después tendrás que reiniciar cualquier servidor de Jupyter que esté en ejecución.

Además, es importante tener en cuenta que jupyterlab-sql solo funciona con Python 3.5 o superior.

Primeros pasos

Tras reiniciar Jupyter Lab, aparecerá un icono nuevo de SQL en el lanzador.

jupyter lab

Esto significa que todo se ha instalado correctamente y ya puedes conectar tu instancia a una base de datos.

Conexión

Para conectarte a la base de datos, necesitas una URL de base de datos válida. jupyterlab-sql se ha probado ampliamente con bases de datos SQLite, PostgreSQL y MySQL (Fuente). Sigue la guía de SQLAlchemy sobre URLs. La URL debe ser una URL de base de datos, por ejemplo:

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

Conectémonos a la base de datos existente SQL_SAFI que usamos antes. Haz clic en el icono de SQL en el lanzador y escribe la URL de la base de datos. Pulsa enter para conectar.

base de datos sql

En cuanto la base de datos esté conectada, podrás ver todas las tablas disponibles.

todas las tablas
todas las tablas

A continuación, también podemos escribir consultas SQL personalizadas para obtener los datos que necesitamos.

Conclusión

Usar SQL y JupyterLab juntos lleva el análisis de datos al siguiente nivel. La interfaz jupyter-sql facilita muchísimo conectar el servidor SQL con el ecosistema Jupyter y extraer datos directamente, sin salir de la interfaz de Jupyter.

Si quieres aprender más SQL, haz el curso Data-Driven Decision Making in SQL de DataCamp.

Echa un vistazo a nuestro tutorial Remote Python and R in SQL.

Conviértete en Ingeniero de Datos

Conviértete en un ingeniero de datos mediante el aprendizaje avanzado de Python
Temas
SQL
Ciencia de datos

Cursos relacionados

Curso

Manipulación de datos en SQL

4 h
335K
Domina las consultas SQL para responder a preguntas de ciencia de datos y prepara conjuntos de datos para analizarlos en PostgreSQL.
Ver detallesRight Arrow
Iniciar Curso
Ver másRight Arrow
Relacionado
SQLAlchemy_Tutorial.

Tutorial

Tutorial de SQLAlchemy con ejemplos

Aprende a acceder y ejecutar consultas SQL en todo tipo de bases de datos relacionales utilizando objetos Python.
Abid Ali Awan's photo

Abid Ali Awan

13 min

A jupyter lab

Tutorial

Tutorial de introducción a JupyterLab

En este artículo, le presentaremos JupyterLab, uno de los IDE más populares para la ciencia de datos.
Javier Canales Luna's photo

Javier Canales Luna

7 min

Tutorial

Tutorial sobre cómo ejecutar consultas SQL en Python y R

Aprenda formas fáciles y eficaces de ejecutar consultas SQL en Python y R para el análisis de datos y la gestión de bases de datos.
Abid Ali Awan's photo

Abid Ali Awan

13 min

Tutorial

Tutorial de Markdown en Jupyter Notebook

En este tutorial, aprenderás a utilizar y escribir con diferentes etiquetas de marcado utilizando Jupyter Notebook.

Olivia Smith

9 min

Tutorial

Cómo usar SQL en pandas Usando pandasql Queries

Libere el poder de SQL dentro de pandas y aprenda cuándo y cómo utilizar consultas SQL en pandas utilizando la biblioteca pandasql para una integración perfecta.
Elena Kosourova's photo

Elena Kosourova

8 min

Tutorial

Seleccionar varias columnas en SQL

Aprende a seleccionar fácilmente varias columnas de una tabla de base de datos en SQL, o a seleccionar todas las columnas de una tabla en una simple consulta.
DataCamp Team's photo

DataCamp Team

3 min

Ver MásVer Más