プログラミング

【Python3に挑戦】PythonでDBを操作するには

パイソンプログラミング

おはようございます。じぇいかわさきです。

スポンサーリンク

 

さて、今までに下地は作られてきましたので、今度はPythn3自体を学んでいこうかと思います。

 

まずはPython3でデータベースに接続し、データベースを操作するためには何をしなければいけないのでしょうか?

 

今回は、それらのデータベースを操作するまでの準備を行っていきたいと思います。

 

パイソンプログラミング

 

 

 

Python3でデータベースを操作するには何が必要?

Python3を使用して、データベース(MariaDB)を操作していくためには、どうしたらよいのか調べてみました。

 

素人の自分からすれば、どうすればPython3でデータベースの操作ができるのか、手っ取り早く知るには、やはりネットで調査するに限ります。

 

しかし、ここで困ったことが発生。

 

一口にデータベースを操作すると言っても、どうやらいくつかの種類のモジュールが有るようなのです。

 

MySQLdbとかmysql-connector、pymysqlなどが見つかります。しかし、素人の自分としてはどれが良いとか判断できないので、一番シンプルなpymysqlを使用してみようかと思いました。

 

どれも、似たようなものなんですが、記述するソースが一番少ないように感じたからです。

 

と言う事で、まずPython3とデータベースを仲介するモジュールはpymysqlを使用することにしました。

 

 

pymysqlの導入とその他不足ライブラリーのインストール

今回、pymysqlのモジュールを使用することにしたが、先々の事も考えて事前に使わなくても、一部のライブラリーを組み込んでおくことにした。

 

まずは、mysqlclient-devをインストールする。これを入れておけば、後でMySQLdbとかでも使えそうだからだ。

sudo apt-get install libmysqlclient-dev

 

このコマンドで実行をかけてみたのだが。

 

libmysql-dev

[ads]

 

このパッケージは使用できないと言って来た。確かに、インストールされているのは互換のMariaDBであり、MySQLではないから。

 

メッセージでは丁寧に、別のパッケージが参照されており、置き換えのパッケージも表示されているではないか。

 

非常に親切なパッケージアプリだと思う。(CUIなのが残念だが)

 

代わりのパッケージを運ストールしてみる。

sudo apt-get install libmariadb-dev

 

mariadb-dev

今度は依存関係を含めて、関連するモジュールがすべてインストールできたようだ。

 

次はmysqlclientをインストールする。

sudo pip3 install mysqlclient

 

mysqlclient

 

そして最後に一番重要なライブラリーとなるpymysqlをインストールする。

sudo pip3 install pymysql

 

pymysql

[ads]

 

これで一通り必要と思われるライブラリーとモジュールのインストールの確認が終わった。

ここまで実行することにより、Python3でMariaDBへ接続してテーブルへデータの書き込みや読み出しが行える環境がそろったことになる。

 

後は、pymysqlの使い方を覚えていかなければいけない。

 

まとめ

今回は、MariaDBへPython3から接続するための必要モジュールを調べ、それらをインストールすることを実行した。

 

一般的に、データの入手からデータベース書き込みなど、PHPが用いられることが多い。

 

実際、このブログを構成しているwordpressもPHPとMySQLサーバーの組み合わせで出来上がっている。

 

ネットで調べても、Webからデータベースをアクセスしたりするのに、やはりPHPを用いている。

 

しかし、今回はラズパイを使用したIoT構築が最終目標であり、ラズパイの環境を一番よく使えるのがPythonである事と、やはり今一番流行りの言語であると言うことの2つから、わざわざPython3でデータベースを操作する道を選んだ。

 

自分としても、全く未知の世界のために、なにをやるにしても殆どネットで調べて、カット&トライの手探り状態なのだ。

 

でも、この歳になってから新しい言語を学ぶのも、新鮮味が有り、Cとかに比べると、比較的わかりやすいかなって感じている。

 

分からないな、誰かがやったのを拾ってくれば良い、そう考えれば出来ないこともないが、自分で見て聞いて学び、コードを書くことにより言語が自分の物になると思っている。

 

分からないからやらないでは、何時まで経っても出来ないままであるので、何時まで掛かるか分からないが、今回挑戦している意味はそこにあるんだ。

 

例え覚えきれなくても、やったと言う実績が欲しいしね。

 

と言う事で、なかなか先に進まないかもしれないが、そこはご勘弁を。

 

 

 

[twt]

ABOUT ME
じぇいかわさき
進撃の社畜/弱小プロブロガー 本ブログは、還暦で定年の世代の筆者が、まだまだやれるという事を証明するために新たな事に挑戦した事を情報発信しているブログです。同世代の人達に対して、まだまだいろいろと頑張れる、第二の人生を楽しく生きていく為に現状維持は退化、失敗の反対は行動しないことを座右の銘とし、思い立ったことにチャレンジした記録です。また、せっかく稼いだ収益を騙し取られないように、毎日来る迷惑メールなどのネットリテラシーについても情報発信をしています。 このブログは ネットリテラシー ブログ 働くこと について書いており、第二の人生で頑張る同世代の心に刺さる記事を目指してます。人生100年、まだまだがんばれます。 >> Twitterをフォローする