美文网首页
如何在Jupyter Notebook中运行SQL?

如何在Jupyter Notebook中运行SQL?

作者: HackDev | 来源:发表于2020-07-21 13:55 被阅读0次

    在我们学习数据科学的时候,通常数据都存在csv等格式的文件中,但是事实上在企业里公,数据往往被存储到数据库中。

    file

    今天我将介绍如何使用Jupyter Notebooks或JupyterLab作为SQL IDE。

    设置

    首先,我们需要安装一个库以确保可以直接在Notebook中运行SQL,我们直接在Jupyter单元中运行如下代码:

    ! pip install ipython-sql
    

    接着,我们将使用sqlalchemy库来创建连接数据库所需的引擎。每个数据库url仅需要一次。

    以下是各种数据库的一些通用的url.

    • PostgreSQL: postgresql://scott:tiger@localhost/mydatabase
    • Mysql: mysql://scott:tiger@localhost/foo
    • Oracle: oracle://scott:tiger@127.0.0.1:1521/sidname
    • SQL server: mssql+pyodbc://scott:tiger@mydsn
    • SQLite: sqlite:///foo.db

    这是Oracle DB的示例:

    file

    现在我们可以加载以前安装的SQL模块:

    file

    并使用先前指定的url连接到数据库。

    file

    开始

    好的,现在可以开始了。首先,我将展示如何将多行SQL查询传递给Juypter单元。需要在代码前面加上前缀%%sql或%sql在下面进行演示即可。

    将整个单元格标记为SQL块

    让我们从这一点开始,因为它允许输入多行SQL语句。唯一的要求是%%sql在开头加上前缀。例如从某个表中选择前五行:

    file

    如果要执行此单元格,则将得到以下输出:

    file

    看起来像是Pandas DataFrame,但不是,它只是展示了表格的外观。

    单行语句-将结果存储到变量

    不仅限于多行语句,我们还可以将SQL查询的结果存储到变量中。在这里,将只有一个百分号,而不是两个:%sql

    例如我将从phone_number列中选择一个值:

    file

    可以发现输出不是我们想要的,我们可以通过以下方法来解决。

    file

    其他操作

    转换为Pandas DataFrame

    从数据库中选择一些数据集,然后调用.DataFrame()它的方法,这样就无须手动给转换了。

    file file

    绘图

    假设你想要快速从数据库中获取一些数据并制作条形图。我们还可以使用matplotlib

    file file

    最后

    如果本文对你有帮助欢迎关注我的个人公众号「会编程的Z同学」

    在这里插入图片描述

    本文由博客群发一文多发等运营工具平台 OpenWrite 发布

    相关文章

      网友评论

          本文标题:如何在Jupyter Notebook中运行SQL?

          本文链接:https://www.haomeiwen.com/subject/iisikktx.html