PythonでMySQLテーブルの列間に算術演算を実行する方法
算術演算とは、その名の通り、足し算・引き算・掛け算・割り算・剰余(あまり)といった計算処理のことです。MySQLでは、これらの算術演算をテーブル内の数値データ(列)に対して簡単に実行できます。
基本構文
足し算を行う場合は以下のように記述します。
SELECT op1 + op2 FROM テーブル名
ここで op1 と op2 には、列名または数値を指定します。両方とも単なる数値リテラルである場合は、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つの列に対して算術演算(この場合は加算)が実行されます。同じ要領で、減算(-)、乗算(*)、除算(/)、剰余(%)なども用途に応じて自由に実行できます。
-
Pythonで日付・時刻の算術演算を行う方法|timedeltaオブジェクトの使い方を解説
Pythonでは、timedeltaオブジェクトを使うことで、日付や時刻の計算を非常に簡単に行えます。ある日時に時間を加算・減算したい場合は、まずdatetime.datetime()オブジェクトを作成し、そこにdatetime.timedelta()インスタンスを足したり引いたりします。timedeltaオブジェクトは「期間(duration)」、すなわち2つの日付や時刻の間の差を表すオブジェクトです。 timedeltaコンストラクタの書式 timedeltaコンストラクタの関数シグネチャは以下のとおりです。 datetime.timedelta([days[, seconds[, mic
-
PythonのタプルをMySQLデータベースに挿入する方法を徹底解説
サーバー上に「test」という名前のMySQLデータベースが存在し、その中に「employee」というテーブルが作成済みであると仮定します。このテーブルには、fname(名)、lname(姓)、age(年齢)、gender(性別)、salary(給与)の5つのフィールドが含まれています。 1. レコードデータをタプルで定義する まず、1件分のレコードデータを格納したタプルオブジェクトを次のように定義します。 t1 = (Mac, Mohan, 20, M, 2000) 2. PyMySQLのインストールとデータベースへの接続 MySQLとPython 3の間にインターフェースを確立するには