0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

MySQLのdumpデータをPythonで読み込む方法

Posted at

はじめに

MySQLのdumpデータhoge.sqlを貰った時、「Pythonで分析するにはどうしたらいいんだ、、」と思っていたので、Python上で読み取る方法を調べました。
せっかくなのでブログにまとめました。

ちなみにMySQLのセットアップは書きません。以下の資料がわかりやすいので、以下の資料を見てセットアップを行ってください。

TL;DR

  • Poetryで簡単にローカルのPython環境構築
  • MySQLのdumpデータをPython上で読み取る

Poetryで環境構築

必要なライブラリをインストールします。ご自身のセットアップ方法を確立されている方はこの章はスキップしてください!
とりあえずローカルにライブラリを色々読み込むのは嫌なのでPoetryを使います。
Poetryに関して学びたい人は以下の記事がおすすめです。

ここら辺はDockerでもvenvでも何でも良いので、ご自由にお選びください。

poetry new hogehoge
poetry add python-dotenv mysql-connector-python pandas
poetry shell

MySQLでdumpデータを読み込む

MySQLの環境構築や文法説明は行いません。下記資料がおすすめです。
環境構築, 文法

ゴタゴタ説明するのはお互い面倒だと思うのでコマンドを書いていきます。
ログインして、dumpデータを読み込んでいるだけなので難しいことはしてません。

-- ログイン usernameは適宜変更してください
mysql -u username -p
-- databaseの作成
CREATE DATABASE hoge;
USE hoge;
-- dumpデータを読み込み pathは適宜変更してください
SOURCE /path/to/dump_data.sql;
-- データに入っているtableを確認します
SHOW TABLES;

SHOW TABLES;で以下のような出力が出てきます。

+-------------------------------+
| Tables_in_hoge                |
+-------------------------------+
| table hoge                    |

Tables_in_hogehoge後でPythonに書き込むのでメモしておきましょう。また、table名も何を読み込みたいか確認しましょう。

Pythonでデータを開く

以下のコードでMySQLからdumpデータの読み込みを行います。

import os

import mysql.connector
import pandas as pd
from dotenv import load_dotenv

# .envから環境変数を読み込む
load_dotenv()

conn = mysql.connector.connect(
    host="localhost",
    # user_nameは自分のユーザー名に変更
    user="user_name",
    # 環境変数からパスワードを読み込み
    password=os.environ.get("MySQL_PASSWORD"),
    # Table_in_hogeのhogeをdatabase_nameに書き込む
    database="database_name",
)

# table名を書きます
query = "SELECT * FROM tabel_name;"
data = pd.read_sql(query, conn)

print(data.head())

conn.close()

このコードをPoetryで動かすとdataが表示されます。

poetry run python hoge.py

終わりに

今回はMySQLのdumpデータをPythonで読み込む方法を紹介しました。
自分自身MySQLを全く理解できていないので、頑張ってお勉強したいですね。
何か勘違いしている箇所があればコメントで教えていただけると幸いです。
ありがとうございました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?