PROGRAM PYTHON

Pythonスクリプト【MySQLにリモート接続しよう⑦~平均値】

 

 

PythonスクリプトからMySQLのDBのデータの平均値を求めよう

今回は新しくテーブルを作成して、そのデータの平均値を取得してみましょう。
テーブル名を「tb2」として、以下のようなカラムを持たせます。

カラム名 タイプ 内容 備考
name VARCHAR(14) 氏名 NOT NULL
lang INT(3) 国語の点数
math INT(3) 数学の点数
engl INT(3) 英語の点数

テーブルは、第2回の記事で使ったスクリプトの11行目を以下のように修正して作成します。

データは、第3回の記事で使ったスクリプトの11行目と14行目を以下のように修正して挿入します。

 

平均値を求める関数

SQLで平均値を求めるには、AVG()関数を使います。

AVG([DISTINCT] )

DISTINCTオプションを使用すると、重複を除いた値で平均を出します。

 

値をまるめる関数

SQLで値をまるめるには、ROUND()関数を使います。

ROUND(, 小数点以下の桁数)

 

平均値を求めるPythonスクリプト

平均値を求めるPythonスクリプトは、以下のようになります。
先にデータの一覧を出力して、そのあと各教科の平均値を出力します。
なお、Pythonでは全角も半角も1文字と計算されてしまい、全角と半角が混ざっていると表示する位置がずれてしまいます。
そのため、29~31行目で文字が何バイトあるかを計算して、表示桁数を揃えています。
全角に関する詳しい内容は、こちらの記事を参照してください。
また、平均値は1行しかないため、カーソル値の取得に fetchone()関数を使っています。

プログラムを実行すると、以下のように結果が出力されます。

mysql7-1

 

 

-PROGRAM, PYTHON
-