在 IPython/Jupyter 笔记本中格式化 SQL 查询
Formatting SQL Query Inside an IPython/Jupyter Notebook
我想在笔记本中显示一些 SQL 查询。我既不需要也不希望他们 运行。我只是希望它们格式正确。至少我希望它们用新行正确缩进,尽管关键字突出显示也很好。是否已经存在解决方案?
如果您将单元格设置为 Markdown,您可以将 sql 查询编写为指定语言的代码(例如 mysql)
``` mysql
SELECT *
FROM table_a AS a
LIMIT 10;
```
这会产生:
突出关键词。不幸的是,它似乎没有处理缩进,这似乎是您要处理的主要问题,但也许这会有所帮助。
我发现这解决了我遇到的问题。
``` sql
在编辑模式下生成样式代码,但在单元格为 运行 时未生成样式代码。
``` mysql
生成正确的样式
如果你 - 像我一样 - 发现自己在这里是因为你想强调(和 运行)%%sql
魔法,你最好使用这个 的技巧.把它贴在这里是因为我花了很长时间才找到正确的答案关键字:)
require(['notebook/js/codecell'], function(codecell) {
codecell.CodeCell.options_default.highlight_modes['magic_text/x-mssql'] = {'reg':[/^%%sql/]} ;
Jupyter.notebook.events.one('kernel_ready.Kernel', function(){
Jupyter.notebook.get_cells().map(function(cell){
if (cell.cell_type == 'code'){ cell.auto_highlight(); } }) ;
});
});
我想在笔记本中显示一些 SQL 查询。我既不需要也不希望他们 运行。我只是希望它们格式正确。至少我希望它们用新行正确缩进,尽管关键字突出显示也很好。是否已经存在解决方案?
如果您将单元格设置为 Markdown,您可以将 sql 查询编写为指定语言的代码(例如 mysql)
``` mysql
SELECT *
FROM table_a AS a
LIMIT 10;
```
这会产生:
突出关键词。不幸的是,它似乎没有处理缩进,这似乎是您要处理的主要问题,但也许这会有所帮助。
我发现这解决了我遇到的问题。
``` sql
在编辑模式下生成样式代码,但在单元格为 运行 时未生成样式代码。
``` mysql
生成正确的样式
如果你 - 像我一样 - 发现自己在这里是因为你想强调(和 运行)%%sql
魔法,你最好使用这个
require(['notebook/js/codecell'], function(codecell) {
codecell.CodeCell.options_default.highlight_modes['magic_text/x-mssql'] = {'reg':[/^%%sql/]} ;
Jupyter.notebook.events.one('kernel_ready.Kernel', function(){
Jupyter.notebook.get_cells().map(function(cell){
if (cell.cell_type == 'code'){ cell.auto_highlight(); } }) ;
});
});