I'm writing a Jupyter notebook for a database course; most cells will contain SQL code, for which I use the IPython SQL magic. Currently I have to prepend each cell with %%sql
. Is there a way to avoid typing %%sql
before each cell, by making it the default?
I found a related question at How do I set up default cell magics for every ipython notebook cell?. However, I couldn't find a SQL kernel for Jupyter.
The Jupyter docs tell you how you can edit the CodeMirror settings. CodeMirror has an option called
value
that determines the default value of a CodeMirror cell (doc link).So, in
~/.jupyter/nbconfig/notebook.json
paste in the following code:and now every new cell will have
%%sql
in it. Obviously this solution applies to any cell magic or indeed any default value you may want your code cells to have.