从Jupyter Notebook连接到MySQL数据库

cod*_*rge 4 python mysql mamp

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

小智 6

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)
Run Code Online (Sandbox Code Playgroud)


Foa*_*oad 6

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

  • 安装 pip3 install ipython-sql
  • pip3 install mysqlclient

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

# %%
%load_ext sql

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

# %%
%%sql

SELECT *
FROM <table>;
Run Code Online (Sandbox Code Playgroud)


小智 6

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)
Run Code Online (Sandbox Code Playgroud)

  • 也许您可以评论一下您的代码如何解决问题? (3认同)

Rus*_*ava 2

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

import mysql.connector

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

print(db)
Run Code Online (Sandbox Code Playgroud)