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
Connect to MySQL db from Jupyter notebook
提问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)