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

PythonでMySQLのSQL LIKE演算子を使う方法をわかりやすく解説

LIKEはMySQLにおける演算子の一つで、WHERE句と組み合わせて使用することで、テーブル内から特定のパターンに一致するデータを検索できます。

例えば、「a」で始まる値をテーブルから探したい場合などに、LIKE演算子が活用されます。

LIKE句では、次の2つのワイルドカード文字を使用できます。

  • %(パーセント)― 0文字、1文字、または複数の任意の文字列を表します。

  • _(アンダースコア)― 任意の1文字を表します。

ワイルドカードの使用例

LIKE 'a%' ― 「a」で始まるすべての値を検索します。

LIKE '%a' ― 「a」で終わるすべての値を検索します。

LIKE '_a%' ― 2文字目が「a」であるすべての値を検索します。_は任意の1文字を表し、その次の文字が必ず「a」でなければなりません。その後ろには、文字があってもなくても構いません。

基本構文

SELECT * FROM table_name WHERE column_name LIKE pattern

PythonとMySQLでパターン検索を行う手順

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

  • connect()メソッドを使って接続を確立する

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

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

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

  • 接続を閉じる

ここで、次のような「Students」というテーブルがあると仮定します。

Students

+----------+-----------+
|    name  |    marks  |
+----------+-----------+
|    Rohit |    62     |
|    Rahul |    75     |
|    Inder |    99     |
|   Khushi |    49     |
|    Karan |    92     |
+----------+-----------+

このテーブルから、「K」で始まる名前を持つ学生を検索してみましょう。

サンプルコード

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

cursor=db.cursor()

query="SELECT name FROM Students WHERE name LIKE 'K%' "
cursor.execute(query)
names=cursor.fetchall()
for x in names:
    print(x)

db.close()

上記のコードは、テーブルから「K」で始まるすべての名前を取得します。

実行結果

Karan
Khushi

同様に、これらのワイルドカードを自由に組み合わせることで、さまざまなパターンに基づいた柔軟なデータ検索が可能になります。

  1. SQL Serverの+演算子とは?文字列連結の使い方を徹底解説

    この記事では、SQL Serverにおける+演算子の使い方を解説し、複数の文字列を1つの文字列に連結する方法を紹介します。 概要 SQL Serverの+演算子は、2つ以上の文字列を結合して、1つの大きな文字列を生成するために使用されます。 構文 SQL Serverで+演算子を使用する場合は、以下の構文に従います。 文字列1 + 文字列2 + ... + 文字列n パラメータ: 文字列1、文字列2、…、文字列n:互いに連結したい文字列を指定します。 注意点: +演算子は、CONCAT関数と同様の役割を果たします。 +演算子は、SQL Server 2017、SQL Server 201

  2. Pythonの%演算子(モジュロ演算子)とは?剰余計算の基本をわかりやすく解説

    Pythonの%演算子とは Pythonにおける「%(パーセント)」は、除算の余りを返す算術演算子です。「モジュロ演算子」あるいは「剰余演算子」と呼ばれ、複素数を除く数値型(int型やfloat型など)のオペランドに対して使用できます。 割り算の結果そのものではなく、「割った後に余る値」を求めたい場合に使う演算子である点がポイントです。 基本的な使い方とコード例 以下は、整数と浮動小数点数に対して%演算子を使った実際の実行例です。 >>> a=10 >>> a%3 1 >>> a%5 0 >>> b=12.5 >&