Youtubeでも活動中

チャンネル登録してくれたら喜びます。
リンクはフリーです。共有・拡散は大歓迎!

このボタンで簡単にチャンネル登録!
PR

PythonでMySQLを制御する方法【動画による解説もあります】

以前投稿したC#でMySQLを操作する方法に続き、
Pythonでも操作方法をご紹介します。

MySQLを使用することによって、
工場の装置のトレーサビリティ強化などに寄与します。

さらに、ライセンスフリーでライブラリの豊富なPythonとの組み合わせで、
無限の可能性を秘めています。

ちなみに他の言語(C#)は既に記事がありますのでそちらもご覧ください。

C#で制御する方法についての記事については、
こちらをご覧ください。

↓↓↓↓↓↓

C#でMySQLを制御する方法について

その前にちょっと自己紹介です。

この記事を読むことでわかること

自己紹介

東証一部上場企業でサラリーマンしてます。

主に工場(生産現場)で使用する検査装置のアプリケーション開発してます。

ヒトの作業を自動化して簡略化するアプリケーションを日々開発中。

2022年5月に転職。現役バリバリの技術者です。
現在は超大手企業の新規事業分野で装置の研究・開発をしています。

Youtubeチャンネルにさまざまな動画を上げています

↓↓↓こちらからYoutubeチャンネルにアクセス!! ↓↓↓

それではさっそく本題に入っていきましょう。

この記事を読んでわかるようになること

この記事を読んでわかるようになること
  • Pythonを使ってMySQLへアクセスできるようになる。
  • Pythonを使ってデータベースの中身が取得できるようになる。

今回の記事によってできることは上記の2点です。

PythonでMySQLを扱うメリット

PythonでMySQLを扱うメリット
  • Pythonを使用した設備でのトレーサビリティ向上
  • 高速なデータのやり取りの実現

Pythonでの制御にかかわらず、ここではMySQLを生産現場で使用すること
のメリットとなっています。

昨今重要視されているトレーサビリティですが、
対策をするにしても各装置でデータを取得して、
どこかにデータを格納しておかなければいけません。

もちろん装置にPCを搭載している場合は、
そのPCのCドライブ(ハードディスク類)に保存しておけば十分な場合もあるでしょう。

ただし、そのPCが壊れた場合データが完全に消失することになります。
さらには、日常的なデータの確認を行う場合にいちいちPCのCドライブに、
物理的にアクセスしなくてはいけません。
そんな手法では非効率ですよね?

また、ネットワークでPC同士をつなげて共有のネットワークフォルダに
格納していく方法が恐らく技術的には1番簡単かと思いますが、
導入当初は良いのですが、データが重くなってくると通信時間に膨大な時間がかかります。

MySQLはデータのやり取りの分野に特化していますので、上記のような心配はしなくて大丈夫です。

一つ障害となる要因としては、
技術者の中でMySQLの知識がない場合は上記の共有のネットワークフォルダで対応という、
力技になることがあります。

一度基本を学べば仕事で使用できるくらいまでにはなりますので、
ぜひ最終的には生産現場で活用することを目標としてみてください。

PythonでMySQLを使うと効果のある場所

PythonでMySQLを使うと効果のある場所
  • データのやり取りが必要な設備
  • トレーサビリティが求められる設備

上記の内容は、MySQLを使うと効果のある場所になります。

PythonはOSにとらわれない汎用性の高いプログラミング言語ですので、
是非PythonとMySQLのセットで使いたいですね。

今回の記事の環境について

ここからは、以下で説明する内容に対応する環境です。
必ずしもVer.まで一致させる必要はありません。
あくまでもこの環境なら動きますよ。
という参考程度にお願いします。

使用するマシン

使用するマシンは、どこにでもあるPC:Windows10 Home 64bitです。

別の装置のデータベースにアクセスしたい場合は、
別途PCが必要ですが、今回は本体のデータベースにアクセスするので、
PCは1台で問題ないです。

使用するソフト

今回の説明で使用するソフト
  • Python(Ver.は3.7)
  • VisualStudioCode(無料)
  • MySQL(Ver.は5.7)

私の環境では、Python3.7を使用しています。
Python2などは3とかなり違うという話なので、
少なくてもVer.3以上を使用してください。

VisualStudioCodeはエディターです。
私はこのエディターが好きなので使用していますが、
ご自分でいつも使用しているエディターなどありましたら、
そちらでも全く問題ありません。

MySQLは事前にインストールしておいてください。
詳しいインストール方法については、
以前の記事に書いていますのでそちらを参考にしてください。

↓↓↓↓↓↓

MySQLインストール方法と注意点

Ver.5.7と少し古い理由は、C#の開発環境が古くそれに合わせているためです。
みなさんは自分に合ったVer.を選んでください。

PythonでMySQLを使うための準備

準備の流れについて動画にしましたのでご覧ください。

pythonでMySQLを制御するための準備編

チャンネル登録してもらえると更新頻度上がるかもしれないです!!!

実際にPythonでMySQLのデータにアクセスしてみる

それではpythonのテスト用ファイルも作成して、
MySQLdbも使用できるようになったので、
いよいよ実際にPC内のデータベースにアクセスしていきます。

指定したテーブルのカラム属性を取得

テーブルのカラム属性の取得は、
show columns from テーブル名
ですので、そちらを実際に動画中で行っています。

指定したテーブルからデータを取得

テーブルのカラム名のみの取得だけではネタが弱いので、
while構文を使用したselect文もテストしています。

pythonでMySQLを制御する(接続編)

コマンドプロンプトでテストしている内容と全く同じ結果になっています。

実際に使用したソースコード

こちらに、実際に使用したソースコードを貼っておきます。

MySQLdbのみpipでインストールするのを忘れなければ、
コピー&ペーストで動作すると思います。

# PythonでMySQLを使用するために必要なライブラリ
import MySQLdb
# データベースにアクセスするためのパラメータ 
connection = MySQLdb.connect(user='root',passwd='設定時に決めたpass',host='localhost',db='mysql')
# カーソルを取得する
cur = connection.cursor()
# プリインストールされているデータベース(worldを選択)
sql = "use world"
cur.execute(sql)
# cityテーブルに格納されているnameがTokyoの行を一行丸ごと取得
sql="select* from city where Name='Tokyo'"
cur.execute(sql)
# 実行結果を取得する
rows = cur.fetchall()
# 一行ずつ表示する
for row in rows:
 print(row)
cur.close
connection.close

コメント

タイトルとURLをコピーしました