通过带有 Python3 的 Jupyter Notebook 访问 MySQL 数据库

Posted

技术标签:

【中文标题】通过带有 Python3 的 Jupyter Notebook 访问 MySQL 数据库【英文标题】:Access to a MySQL database via Jupyter Notebook w/ Python3 【发布时间】:2018-08-27 19:35:06 【问题描述】:

我需要通过 Jupyter Notebook 访问 mysql 数据库,我在其上运行 Python 3.6(Anaconda 安装)。这是一个线性工作流程,从数据库中提取数据并在 Python/Pandas 中进行操作。不需要 ORM,一个简单的连接器就可以了。但是,广泛使用的referenced MySQLdb 包不适用于 Python 3.x。

有什么选择?

【问题讨论】:

请查看answer。仅将 pip3 包管理器更改为 conda。如果有帮助,请告诉我。 【参考方案1】:

在 Ubuntu 上推荐的 Jupyter 安装方式是 Anaconda,因此合适的包管理器是 conda。 Notebook 无法通过 pip/pip3 或 apt 进行安装。 conda 使获得至少两个好的连接器变得简单:

    pymysql 运行良好且易于安装:

sudo conda install pymysql

    “官方”连接器

sudo conda install mysql-connector-python

我首先尝试了 pymysql,它很好,但由于大量的documentation 的可用性,然后切换到第二个选项。

如果您的目标是将数据导入 Pandas 数据框,那么使用内置的 pd.sql_read_tablepd.sql_read_query 很方便,因为它可以标记列等。它仍然需要安装连接器,如上所述.

以 MySQL-connector-python 为例,这里需要输入数据库 DETAILS:

import pandas as pd import sqlalchemy engine = sqlalchemy.create_engine('mysql+mysqlconnector://USER:PASSWORD@HOST/DB_NAME') example_df = pd.read_sql_table("YOUR_TABLE_NAME", engine)

【讨论】:

以上是关于通过带有 Python3 的 Jupyter Notebook 访问 MySQL 数据库的主要内容,如果未能解决你的问题,请参考以下文章

Jupyter notebook Import tensorflow_hub error: No module named tensorflow.python.training.tracking

Tkinter 崩溃 Jupyter 内核?

Linux部署pip装jupyter后notebook报错

Linux部署pip装jupyter后notebook报错

安装jupyter

在 Windows 上通过命令行运行 Jupyter