从Jupyter Notebook连接到MySQL数据库

10

我正在使用Jupyter Notebooks学习Python。我想连接到通过MAMP本地托管的MySQL数据库。我该怎么做?


1
可能是如何在Python中连接到MySQL数据库?的重复问题。 - Rushil Srivastava
4个回答

16
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)

8
假设您已经安装了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>;

7
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)

3
你能否评论一下你的代码是如何解决这个问题的? - StupidWolf

2

你可以使用MySQL Connector库实现。只需要使用pip进行安装,然后就可以使用它来与数据库交互。参考以下示例代码:

import mysql.connector

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

print(db)

在笔记本中使用Scala怎么样?谢谢。我在Scala上遇到了麻烦:https://stackoverflow.com/questions/55154372/com-mysql-jdbc-driver-not-found-in-spark2-scala,非常感谢。 - mdivk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接