Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonでMySQLテーブルの列間に算術演算を実行する方法

算術演算とは、その名の通り、足し算・引き算・掛け算・割り算・剰余(あまり)といった計算処理のことです。MySQLでは、これらの算術演算をテーブル内の数値データ(列)に対して簡単に実行できます。

基本構文

足し算を行う場合は以下のように記述します。

SELECT op1 + op2 FROM テーブル名

ここで op1op2 には、列名または数値を指定します。両方とも単なる数値リテラルである場合は、FROM句は不要です。

上記構文の「+」を「-」「*」「/」「%」に置き換えることで、引き算・掛け算・割り算・剰余といった他の算術演算も同様に実行できます。

PythonからMySQLで算術演算を実行する手順

  • mysql.connector をインポートする

  • connect() メソッドを使ってデータベースへの接続を確立する

  • cursor() メソッドでカーソルオブジェクトを作成する

  • 適切なSQL文でクエリを作成する

  • execute() メソッドでSQLクエリを実行する

  • 接続を閉じる

例として、次のような「Sales」テーブルがあるものとします。

+------------+---------+
| sale_price |   tax   |
+------------+---------+
|    1000    |   200   |
|    500     |   100   |
|    50      |   50    |
|    180     |   180   |
+------------+---------+

サンプルコード

sale_price(販売価格)と tax(税額)の2つの列の値を合計した金額(amount)を計算してみましょう。

import mysql.connector

db = mysql.connector.connect(
    host="your host",
    user="your username",
    password="your password",
    database="database_name"
)

cursor = db.cursor()

query = "SELECT sale_price, tax, sale_price + tax AS amount FROM Sales"
cursor.execute(query)

rows = cursor.fetchall()

for row in rows:
    print(row)

db.close()

実行結果

(1000, 200, 1200)
(500, 100, 600)
(50, 50, 100)
(180, 180, 360)

このように、SELECT文の中で sale_price + tax のように列同士を組み合わせるだけで、テーブル内の2つの列に対して算術演算(この場合は加算)が実行されます。同じ要領で、減算(-)、乗算(*)、除算(/)、剰余(%)なども用途に応じて自由に実行できます。

  1. Pythonで日付・時刻の算術演算を行う方法|timedeltaオブジェクトの使い方を解説

    Pythonでは、timedeltaオブジェクトを使うことで、日付や時刻の計算を非常に簡単に行えます。ある日時に時間を加算・減算したい場合は、まずdatetime.datetime()オブジェクトを作成し、そこにdatetime.timedelta()インスタンスを足したり引いたりします。timedeltaオブジェクトは「期間(duration)」、すなわち2つの日付や時刻の間の差を表すオブジェクトです。 timedeltaコンストラクタの書式 timedeltaコンストラクタの関数シグネチャは以下のとおりです。 datetime.timedelta([days[, seconds[, mic

  2. PythonのタプルをMySQLデータベースに挿入する方法を徹底解説

    サーバー上に「test」という名前のMySQLデータベースが存在し、その中に「employee」というテーブルが作成済みであると仮定します。このテーブルには、fname(名)、lname(姓)、age(年齢)、gender(性別)、salary(給与)の5つのフィールドが含まれています。 1. レコードデータをタプルで定義する まず、1件分のレコードデータを格納したタプルオブジェクトを次のように定義します。 t1 = (Mac, Mohan, 20, M, 2000) 2. PyMySQLのインストールとデータベースへの接続 MySQLとPython 3の間にインターフェースを確立するには