はじめに
どうもMizokeiです。
プログラミングをしていると、データベースと連携したくなることがあります。特に社内システムエンジニアなどの業務に従事している方は、データベースからデータを取得することは日常茶飯事ではないでしょうか。
そこで、pythonでmysqlに接続し、SQLクエリを実行する簡単なソースコードをメモとしてまとめてみます。
MySQLで簡単なテーブルを想定
接続先のデータベースとして、MySQLでtestdbスキーマとしてテストテーブルtmpを使用します。ローカルで使用するので、ホストはlocalhostですね。以下の定義でテーブルを作りました。
従業員テーブルのようなものを仮定したempテーブルです。今回は、pythonコードがテーマなので、テーブル定義の説明などは省きますね。
クエリ実行から取得までほんの数行
以下のコードでmysqlの接続から、SQLの実行、レコード内容の表示と接続の切断まで行えます。
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
#!/usr/bin/env python # -*- coding: utf-8 -*- ''' pythonを使用してmysqlに接続します。 クエリを実行しレコード内容を表示して切断するプログラムです。 ''' # # 追加ライブラリ # #MySQL接続用 import mysql.connector as connector #メイン処理 if __name__ == '__main__': #改行 print() #接続情報を初期化 connection = connector.connect( user='root', password='', host='localhost', database='testdb' ) cursor = connection.cursor() #クエリを実行 cursor.execute("SELECT * FROM testdb.emp;") #取得内容を表示 print('以下、レコード内容') record = '' for record_row in cursor.fetchall(): column_index = 0 for column in record_row: column_index += 1 record += str(column) if column_index < len(record_row): record += ', ' print(record) #切断 cursor.close connection.close #改行 print() |
mysql-connector-pythonが必要です
今回は、mysqlに接続するために、mysql-connector-pythonを使用しています。以下の記事で、pipからのpythonライブラリのインストール方法について、簡単にまとめてますので、ご覧になってみてください。
実行結果
実行結果は以下ですね。実際には、最初と最後に空行を入れたので4行の出力です。
テストテーブルの中身は1レコードなので、ちゃんと取れていますね。ただ、nullがNoneになっているところは、注意が必要ですね。
MySQLへの接続設定を確認
MySQLへの接続設定は、以下の箇所で行っています。自身の環境に合わせて、変更して実行してみましょう。
0 1 2 3 4 5 6 7 8 |
#接続情報を初期化 connection = connector.connect( user='root', password='', host='localhost', database='testdb' ) |
SQLクエリの実行は以下ですね。
0 1 2 3 |
#クエリを実行 cursor.execute("SELECT * FROM testdb.emp;") |
今回はこのあたりで。この程度のソースコード量であれば、社内システムエンジニアとして業務を行っていない他部署の人でも、簡単にデータを取ってこれるのではないでしょうか。
誰かの参考になれば幸いです。それでは。
関連記事
【Python】ピクセル値を操作して画像を作成してみよう【画像処理】
【Python×業務自動化】Excelを起動する【RPA】
【Python超入門】クラスを作成してみよう