从 Jupyter 笔记本连接到 MySQL 数据库

Posted

技术标签:

【中文标题】从 Jupyter 笔记本连接到 MySQL 数据库【英文标题】:Connect to MySQL db from Jupyter notebook 【发布时间】:2018-12-01 01:28:02 【问题描述】:

我正在使用 Jupyter Notebooks 来学习 Python。我想连接到通过 MAMP 在本地托管的 mysql 数据库。我该如何处理?

【问题讨论】:

How do I connect to a MySQL Database in Python?的可能重复 【参考方案1】:
import pymysql

import pandas as a

conn=pymysql.connect(host='localhost',port=int(3306),user='root',passwd='YOUR_PASSWORD',db='YOUR_DATABASENAME')

df=a.read_sql_query("SELECT * FROM 'YOUR_TABLENAME' ",conn)

print(df)

【讨论】:

也许您可以评论一下您的代码如何解决问题?【参考方案2】:

假设您已安装 MySQL(使用 HomeBrew 的 macOS 的说明 here),您需要:

安装pip3 install ipython-sql pip3 install mysqlclient

现在您应该能够运行这些单元格并获得打印精美的 html 输出:

# %%
%load_ext sql

# %%
%sql mysql+mysqldb://<user>:<password>@localhost/<dataBase>

# %%
%%sql

SELECT *
FROM <table>;

【讨论】:

【参考方案3】:
import os
import pymysql
import pandas as pd

host = os.getenv('MYSQL_HOST')
port = os.getenv('MYSQL_PORT')
user = os.getenv('MYSQL_USER')
password = os.getenv('MYSQL_PASSWORD')
database = os.getenv('MYSQL_DATABASE')

conn = pymysql.connect(
    host=host,
    port=int(3306),
    user="root",
    passwd=password,
    db="[YOUR_DB_NAME]",
    charset='utf8mb4')

df = pd.read_sql_query("SELECT * FROM YOUR_TABLE",
    conn)
df.tail(10)

【讨论】:

【参考方案4】:

是的,你可以。您可以使用MySQL Connector 库。只需使用 pip 安装它,然后您就可以使用它与您的数据库进行交互。请看下面的示例代码:

import mysql.connector

db = mysql.connector.connect(
   host="localhost",
   user="mamp",
   passwd=""
)

print(db)

【讨论】:

在 Notebook 中使用 Scala 怎么样?谢谢。我在使用 Scala 时遇到问题:***.com/questions/55154372/…,非常感谢。

以上是关于从 Jupyter 笔记本连接到 MySQL 数据库的主要内容,如果未能解决你的问题,请参考以下文章

将 Python 笔记本连接到 MySQL 数据库

从本地 jupyter notebook 连接到 spark 集群

将本地 IPython 笔记本连接到气隙集群上的 Spark

无法使用 Jupyter 笔记本上的 pyspark 从 Apache Spark 连接到 MS SQL

将USB串行设备桥接到Cloud Jupyter笔记本电脑

从 Python 连接到 SQL Server