ipythonodbcsql Magic for Dawet

ipython-dawet-sql的Python项目详细描述


Ipython ODBC SQL魔术

ipythonmagic使用ODBC直接在笔记本单元上运行SQL。在

安装
$ pip3 install ipython-dawet-sql
使用

负载存在

为了能够使用,扩展名必须是load首先到正在使用的笔记本。在

^{pr2}$

数据库连接

开放式连接
In [ ]: %dawetsql

在执行魔术行之后,根据ODBC配置填写表单。用户名和密码(如果在系统ODBC配置中设置)是可选的。在

query builder

对于我重新启动连接,只需单击connectdawetsql将在再次打开新连接之前先自动关闭连接。在

紧密连接
In [ ]: %dawetsqlclose
运行SQL
In [ ]: %%dawetsql
        SELECT * FROM tables
        WHERE somecolumn = 'somevalue'

预览使用pandas.DataFrame显示的查询结果,默认限制为10行。在

可用参数

ArgumentsTypeDefaultDescriptions
^{}Integer10Set limit query untuk preview
^{}String^{}Nama output hasil query.

示例用法

将查询结果保存到Python变量
In [ ]: %%dawetsql --ouput variablename
        SELECT * FROM tables
        WHERE somecolumn = 'somevalue'
将查询结果保存到文件

如果输出名称的扩展名为.csv.pkl和{},cellmmagic%%dawetsql将自动将查询结果保存到文件中

In [ ]: %%dawetsql --output filename.csv
        SELECT * FROM tables
        WHERE somecolumn = 'somevalue'

从SQL查询访问Python变量

要从本地命名空间访问变量,请使用格式?namavariable作为SQL查询的占位符。如果变量类型不是intfloat,则会自动添加引号(')。在

In [1]: low = 1
        high = 100
        other_column_name = "something"

论魔法细胞

In [2]: %%dawetsql
        SELECT 
            *
        FROM
            TABLE
        WHERE
            SOME_COLUMN BETWEEN ?low AND ?high
            AND OTHER_COLUMN = ?other_column_name

SQL查询将转换为

SELECT 
    *
FROM
    TABLE
WHERE
    SOME_COLUMN BETWEEN 1 AND 100
    AND OTHER_COLUMN = 'something'

小工具

架构资源管理器小部件

这个小部件用于研究数据库中的scheme、table、column和column类型。在

%explorer [-f --force]

表格详细信息

table detail

Query Builder

query builder

表格数据预览

query builder

设置

{{cd16>存储在 其他

SQL自动完成

Cell magic%%dawetsql支持SQL自动完成。这项功能还在试验阶段。在用户运行magic %explore后,可以自动完成表名和列名。对于老用户,运行%explorer -f,然后重新启动notebook。在

合法的

这个软件包是在麻省理工学院许可下发布的。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JavaFX SwingWorker等价物?   java如何检查一个字符串只包含数字和一个小数点?   java遇到了异常组织。阿帕奇。卡塔琳娜。LifecycleException:无法启动组件   java如何从日期格式获取最低计时单位?   java应用服务器与开发过程的集成   java我无法运行Junit测试   无法在java多线程处理中维护生产者任务的顺序   java如何在CLI应用程序中“拦截”Ctrl+C?   java如何使用JSch进行原子SFTP文件传输,以便在写入过程完成之前无法访问该文件?   java当用户摆弄html范围滑块时,如何更改内容(文本)?   如何在Java中向现有文件追加文本?   JUnit测试中的java模拟Apache驼峰位置   java Maven更新项目和依赖项