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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/50973191/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-19 19:40:26  来源:igfitidea点击:

Connect to MySQL db from Jupyter notebook

pythonmysqlmamp

提问by coderatlarge

I am using Jupyter Notebooks to learn Python. I would like to connect to a MySQL db hosted locally hosted through MAMP. How would I approach this?

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

回答by tammuz

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)

回答by Foad

Assuming you have MySQL installed (instructions herefor macOS using HomeBrew), you need to:

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

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

now you should be able to run these cells and get pretty-printed HTML output:

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

# %%
%load_ext sql

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

# %%
%%sql

SELECT *
FROM <table>;

回答by Rushil Srivastava

Yes, you can. You can use the MySQL Connectorlibrary. Simply install it using pip, and then you can use it to interact with your database. See the sample code below:

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

import mysql.connector

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

print(db)

回答by VADHAN

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)