{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# JupyterLite `xeus-sqlite` Kernel Demo\n", "\n", "The [`jupyterlite/xeus-sqlite-kernel`](https://github.com/jupyterlite/xeus-sqlite-kernel) wraps the original [`jupyter-xeus/xeus-sqlite`](https://github.com/jupyter-xeus/xeus-sqlite/) kernel for use in JupyterLite.\n", "\n", "Original kernel docs can be found [here](https://xeus-sqlite.readthedocs.io/en/latest/).\n", "\n", "The kernel provides cell magic for command line database operations, and native execution of SQL code against a connected database." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Creating a Database\n", "\n", "Line magic is used to create an in-memory database:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "trusted": true }, "outputs": [], "source": [ "%CREATE example_db.db" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Currently, there is no ability to:\n", "\n", "- save the database to browser storage;\n", "- export the database;\n", "- load a database from browser storage;\n", "- load a database from a URL;\n", "- load a database from the desktop;\n", "- connect to a remote sqlite database file." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Create and Populate Tables\n", "\n", "Tables are created and populated using SQL:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "trusted": true }, "outputs": [], "source": [ "CREATE TABLE players (Name STRING, Class STRING, Level INTEGER, Hitpoints INTEGER)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "trusted": true }, "outputs": [], "source": [ "INSERT INTO players (Name, Class, Level, Hitpoints) VALUES (\"Martin Splitskull\", \"Warrior\", 3, 40)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "trusted": true }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
rowcount
1
" ], "text/plain": [ "+----------+\n", "| rowcount |\n", "+----------+\n", "| 1 |\n", "+----------+" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "SELECT COUNT(*) as rowcount FROM players" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Only one command can be executed from within a single code cell:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "trusted": true }, "outputs": [], "source": [ "INSERT INTO players (Name, Class, Level, Hitpoints) VALUES (\"Sir Wolf\", \"Cleric\", 2, 20);\n", "\n", "-- The following will not be inserted\n", "INSERT INTO players (Name, Class, Level, Hitpoints) VALUES (\"Sylvain, The Grey\", \"Wizard\", 1, 10);" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "trusted": true }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
NameLevelHitpoints
Martin Splitskull340
Sir Wolf220
" ], "text/plain": [ "+-------------------+-------+-----------+\n", "| Name | Level | Hitpoints |\n", "+-------------------+-------+-----------+\n", "| Martin Splitskull | 3 | 40 |\n", "+-------------------+-------+-----------+\n", "| Sir Wolf | 2 | 20 |\n", "+-------------------+-------+-----------+" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "SELECT Name, Level, Hitpoints FROM players;" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "trusted": true }, "outputs": [], "source": [ "INSERT INTO players (Name, Class, Level, Hitpoints) VALUES (\"Sylvain, The Grey\", \"Wizard\", 1, 10);" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "trusted": true }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
NameLevelHitpoints
Martin Splitskull340
Sir Wolf220
Sylvain, The Grey110
" ], "text/plain": [ "+-------------------+-------+-----------+\n", "| Name | Level | Hitpoints |\n", "+-------------------+-------+-----------+\n", "| Martin Splitskull | 3 | 40 |\n", "+-------------------+-------+-----------+\n", "| Sir Wolf | 2 | 20 |\n", "+-------------------+-------+-----------+\n", "| Sylvain, The Grey | 1 | 10 |\n", "+-------------------+-------+-----------+" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "SELECT Name, Level, Hitpoints FROM players;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Querying Tables\n", "\n", "A full range of SQL query commands are supported, including aggregation operations:" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "trusted": true }, "outputs": [], "source": [ "SELECT SUM (Level) FROM players" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Grouping also works:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "trusted": true }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
LevelTotal Hitpoints
340
220
110
" ], "text/plain": [ "+-------+-----------------+\n", "| Level | Total Hitpoints |\n", "+-------+-----------------+\n", "| 3 | 40 |\n", "+-------+-----------------+\n", "| 2 | 20 |\n", "+-------+-----------------+\n", "| 1 | 10 |\n", "+-------+-----------------+" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "SELECT Level, SUM(Hitpoints) AS `Total Hitpoints`\n", "FROM players\n", "GROUP BY Level\n", "ORDER BY `Total Hitpoints` DESC;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Charting Using Vega\n", "\n", "The `jupyter-xeus/xeus-sqlite` kernel also bundles Vega charting components.\n", "\n", "Vega charts can be generated by piping the result of a SQL query into a Vega line magic command." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "trusted": true }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
LevelHitpoints
340
220
110
" ], "text/plain": [ "+-------+-----------+\n", "| Level | Hitpoints |\n", "+-------+-----------+\n", "| 3 | 40 |\n", "+-------+-----------+\n", "| 2 | 20 |\n", "+-------+-----------+\n", "| 1 | 10 |\n", "+-------+-----------+" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { "application/vnd.vegalite.v3+json": { "$schema": "https://vega.github.io/schema/vega-lite/v4.json", "config": { "axis": { "grid": true } }, "data": { "values": [ { "Hitpoints": "name", "Level": "name" }, { "Hitpoints": "40", "Level": "3" }, { "Hitpoints": "20", "Level": "2" }, { "Hitpoints": "10", "Level": "1" } ] }, "encoding": { "x": { "field": "Level", "type": "quantitative" }, "y": { "field": "Hitpoints", "type": "quantitative" } }, "height": 200, "mark": { "type": "circle" }, "width": 100 }, "image/png": "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" }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%XVEGA_PLOT\n", " X_FIELD Level\n", " Y_FIELD Hitpoints\n", " MARK circle\n", " WIDTH 100\n", " HEIGHT 200\n", " <>\n", " SELECT Level, Hitpoints FROM players" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Database Administration\n", "\n", "Several line magics are defined to support database administration" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "trusted": true }, "outputs": [ { "data": { "text/plain": [ "The table players exists." ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%TABLE_EXISTS players" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "trusted": true }, "outputs": [ { "data": { "text/plain": [ "The table npcs doesn't exist." ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%TABLE_EXISTS npcs" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "trusted": true }, "outputs": [ { "data": { "text/plain": [ "Magic header string: SQLite format 3\n", "Page size bytes: 4096\n", "File format write version: 1\n", "File format read version: 1\n", "Reserved space bytes: 0\n", "Max embedded payload fraction 64\n", "Min embedded payload fraction: 32\n", "Leaf payload fraction: 32\n", "File change counter: 4\n", "Database size pages: 2\n", "First freelist trunk page: 0\n", "Total freelist trunk pages: 0\n", "Schema cookie: 1\n", "Schema format number: 4\n", "Default page cache size bytes: 0\n", "Largest B tree page number: 0\n", "Database text encoding: 1\n", "User version: 0\n", "Incremental vaccum mode: 0\n", "Application ID: 0\n", "Version valid for: 4\n", "SQLite version: 3032003\n" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%GET_INFO" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Connecting to a Different Database\n", "\n", "Creating a new database will connect the kernel to the new database instance." ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "trusted": true }, "outputs": [], "source": [ "%CREATE potato.db " ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "trusted": true }, "outputs": [], "source": [ "CREATE TABLE potaters(production INTEGER)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "trusted": true }, "outputs": [], "source": [ "INSERT INTO potaters (production) VALUES (7)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "trusted": true }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
production
7
" ], "text/plain": [ "+------------+\n", "| production |\n", "+------------+\n", "| 7 |\n", "+------------+" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "SELECT * FROM potaters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The original database is lost:" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "trusted": true }, "outputs": [ { "ename": "Error", "evalue": "no such table: players", "output_type": "error", "traceback": [ "Error: no such table: players" ] } ], "source": [ "SELECT Name, Level, Hitpoints FROM players;" ] } ], "metadata": { "kernelspec": { "display_name": "SQLite", "language": "sql", "name": "SQLite" }, "language_info": { "file_extension": ".sqlite3-console", "mimetype": "text/x-sqlite3-console", "name": "sqlite3", "version": "0.4.0" } }, "nbformat": 4, "nbformat_minor": 4 }