Connect to MySQL db from Jupyter notebook

前端 未结 4 1450
清歌不尽
清歌不尽 2021-01-02 21:31

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?

相关标签:
4条回答
  • 2021-01-02 22:17

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

    • Install pip3 install ipython-sql
    • pip3 install mysqlclient

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

    # %%
    %load_ext sql
    
    # %%
    %sql mysql+mysqldb://<user>:<password>@localhost/<dataBase>
    
    # %%
    %%sql
    
    SELECT *
    FROM <table>;
    
    0 讨论(0)
  • 2021-01-02 22:23

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

    import mysql.connector
    
    db = mysql.connector.connect(
       host="localhost",
       user="mamp",
       passwd=""
    )
    
    print(db)
    
    0 讨论(0)
  • 2021-01-02 22:31
    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)
    
    0 讨论(0)
  • 2021-01-02 22:38
    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)
    
    0 讨论(0)
提交回复
热议问题