晃2018/12/182019/6/19皆さんMySQL使っていますか?MySQLの学習に没頭していると忘れがちですが、MySQLはあくまでもデータベース管理システム。実際にプログラムのなかで使ってみることで理解が深まる部分もあります。そこで、今回は最近人気の高まっているPythonからMySQLを扱う方法をご紹介します。そこまで手間がかからず、簡単にPythonから大規模なデータを扱うことができるようになるので、おすすめですよ。まとめMySQLに接続する下準備:モジュールのインストールまずはじめに、今回はPythonからMySQLに接続するためにmysqlclientパッケージを利用します。こちらはPython2系列でよく使われたMySQLdb1の3系列向けフォークになり、現在でも活発に開発が進められています。様々な事情でmysqlclientが使えない場合は公式提供のmysql-connector-pythonというパッケージもあります。そちらを使った方法については別記事で紹介していますので、下記を参照してください。2018年8月21日ではここから実際に必要なモジュール・パッケージをインストールしていきましょう。前提としてPythonとMySQLのインストール及び基本的な初期設定は完了しているものとして話を進めていきます。前提条件となるライブラリをインストールしていきます。mysql-connector-cPython3の場合は更に追加で以下のライブラリをインストールします。python3-develmacOSではmysql-connector-cにインストール時のバグが有るようで、mysql_configが下記のように書き換えられてしまうことがあります。"この様になっていた場合、次のように書き換えることで問題を解決できます。-lcrypto"ここまで事前準備が完了したら、あとはpipから以下のコマンドを入力すればインストールが完了です。mysqlclientなお、Windowsではpipからのインストールがうまくいかないことがあるようで、そういった場合は自分でWheelをインストールするしかありません。下記のページから自分の環境にあったものを選び、インストールしたいフォルダまで移動した後に、次のコマンドでインストールしてください。Packages2018年12月の段階ではmysqlclient‐1.3.13‐cp37‐cp37m‐win_amd64.whlが64ビット用の最新版でした。mysqlclient‐1.3.13‐cp37‐cp37m‐win_amd64.whlmysqlclientを使ってPythonから接続するそれではmysqlclientを使ってPythonからMySQLを操作していきましょう。その準備として、今回操作するデータベースを先に用意しておきます。MySQL上で次のクエリを実行してデータベースを作成しておいてください。python_db;ではあらためて、mysqlclientを使ってPythonからMySQLに接続してみます。Pythonの実行環境から次のコードを実行してみましょう。接続を閉じるconnection.close()実行して何もエラーが出なければ準備完了です。注意点として、commitメソッドを実行しないと、コード内で行った変更は記録されません。慣れないうちはうっかりcommitを忘れがちなので、注意しましょう。Pythonからの基本操作と実践この章ではPythonからの基本的な操作を紹介していきます。注意点が1点あります。この章ではサンプルの冗長化を防ぐため、実行部分のコードを抜き出して記載していきます。ここに実行したいコードを入力します」にコードを入力してください。SQLの実行まずはSQL文の実行から。SQL文の実行はexecuteメソッドを使います。sample")注意点として、文末にデリミタ(;)は不要です。データの取得つづいて、データの取得について。SQL文を実行したcursorオブジェクトに対して、fetch系のメソッドを適用することで内容を取り出すことができます。cursor.fetchone()取り出したものを1件ずつ表示させるにはfetchall()を使うか、cursorをイテレータとして使います。(row)コマンドを一通り使ってみる最後に今まで学んできたことをまとめとして、データベースの接続からテーブルの作成、データの追加、一覧の表示、テーブルの保存、接続の解除までを1つのコードにまとめてみます。21)無事、テーブルの中身は表示されましたか?まとめいかがでしたか?今回はPythonからMySQLを扱う方法をご紹介してきました。MySQLを扱うプログラミング言語というとPHPが筆頭に上がりますが、MySQLはあくまでもデータベース管理システムなので、言語に束縛されることはありません。必要なときにMySQLを使えるようになっておくと色々と便利ですので、ぜひPythonでもMySQLを使えるようになりましょう。この記事が皆様のMySQL学習の一助となれば幸いです。TweetPocket無料でSEからWebエンジニアへ転職しませんか?侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、システムエンジニアという職業だけどコードが書けない事務作業が多くスキルがないため将来が不安スクールに通うと完全未経験者と同じスタートになるからレベルが合わないという、すでに知識があるSEならではのお悩みがあることに気づきました。弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。こちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。晃フリーのエンジニア・ライター。プログラミング、ライティング、マーケティングなど、あらゆる手段を駆使して、ハッピーなフルリモートワーカーを目指し中。最近興味がある分野は深層強化学習。積みゲー、積ん読がどんどん増加しているのがここ数年の悩み。実は侍エンジニア塾の卒業生だったりします。