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

PythonとMySQLで条件に合うデータを抽出する方法:WHERE句の使い方を徹底解説

テーブルからすべてのデータを取得する必要があるケースは、実はそれほど多くありません。むしろ、何らかの条件や基準に基づいて、特定のデータや行だけを取り出したいという場面の方が多いでしょう。

例えば、多くの生徒の名前と点数が登録されたテーブルがあるとします。ここから「点数が90以上の生徒の名前だけを取得したい」という場合、(点数>=90)という条件に基づいてデータを選択する必要があります。

このような条件付きのデータ抽出を実現するために、MySQLでは「WHERE」句が用意されています。WHERE句を使えば、指定した条件を満たすデータだけをテーブルから選択できます。

基本構文

SELECT * FROM テーブル名 WHERE 条件

ここで「テーブル名」は対象となるテーブルの名前、「条件」はデータ選択の基準となる条件式を表します。このステートメントは、指定された条件を満たす行のみをテーブルから取得します。

PythonでMySQLを使って特定のデータを抽出する手順

  • MySQLコネクタをインポートする

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

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

  • 適切なMySQLステートメントでクエリを作成する

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

  • 接続を閉じる

以下のような「Students」というテーブルがあると仮定します。

+----------+---------+-----------+------------+
|    Name  | Class   |    City   |    Marks   |
+----------+---------+-----------+------------+
|    Karan |    4    | Amritsar  |    95      |
|    Sahil |    6    | Amritsar  |    93      |
|    Kriti |    3    | Batala    |    88      |
|  Khushi  |    9    | Delhi     |    90      |
|    Kirat |    5    | Delhi     |    85      |
+----------+---------+-----------+------------+

サンプルコード

点数が90以上の生徒のレコードを選択して表示してみましょう。なお、connect()内のホスト名・ユーザー名・パスワード・データベース名は、ご自身の環境に合わせて置き換えてください。

import mysql.connector

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

cursor=db.cursor()

query="SELECT * FROM Students WHERE Marks>=90"
cursor.execute(query)
for row in cursor:
    print(row)

上記のコードを実行すると、点数が90以上の生徒の行が正常に表示されます。この場合、テーブルの1行目、2行目、4行目が該当し、それぞれ返されて表示されます。

出力結果

('Karan', 4 ,'Amritsar' , 95)
('Sahil' , 6 , 'Amritsar' ,93)
('Khushi' , 9 ,'Delhi' , 90)
  1. Pythonのscikit-learnでデータをスケーリングする方法|MinMaxScalerによる正規化の実装例

    特徴量スケーリング(Feature Scaling)は、機械学習アルゴリズムを構築する際のデータ前処理段階において非常に重要なステップです。データを特定の範囲に正規化することで、モデルが安定して学習できるようになります。また、スケーリングを行うことで計算処理の速度が向上する場合もあります。特に勾配降下法などの最適化手法では、収束が速くなるというメリットが期待できます。なぜスケーリングが必要なのか?学習アルゴリズムに入力されるデータは、一貫性があり、構造化されていることが求められます。すべての特徴量が同じ尺度に揃っていなければ、精度の高い予測は困難です。しかし、現実世界のデータは非構造的であるこ

  2. Excelで複数の条件に基づいてテーブルからデータを抽出する方法

    必要なタイミングでデータを取り出せることは、スプレッドシートを活用するうえで最も重要な要素です。Excelも例外ではありません。私たちはデータを表形式でExcelに保存し、必要に応じてそれらを抽出します。本記事では、複数の条件(criteria)に基づいてテーブルからデータを抽出する方法を詳しく解説します。 まずはじめに、例のベースとなるデータセットを確認しておきましょう。 ここには、ジャンル・主演俳優・公開年とともに映画のリストがまとめられたテーブルがあります。このデータセットを使用して、複数の条件に基づいたデータ抽出を行います。 なお、説明をシンプルにするために基本的なテーブルを使用して