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
同様に、これらのワイルドカードを自由に組み合わせることで、さまざまなパターンに基づいた柔軟なデータ検索が可能になります。
-
SQL Serverの+演算子とは?文字列連結の使い方を徹底解説
この記事では、SQL Serverにおける+演算子の使い方を解説し、複数の文字列を1つの文字列に連結する方法を紹介します。 概要 SQL Serverの+演算子は、2つ以上の文字列を結合して、1つの大きな文字列を生成するために使用されます。 構文 SQL Serverで+演算子を使用する場合は、以下の構文に従います。 文字列1 + 文字列2 + ... + 文字列n パラメータ: 文字列1、文字列2、…、文字列n:互いに連結したい文字列を指定します。 注意点: +演算子は、CONCAT関数と同様の役割を果たします。 +演算子は、SQL Server 2017、SQL Server 201
-
Pythonの%演算子(モジュロ演算子)とは?剰余計算の基本をわかりやすく解説
Pythonの%演算子とは Pythonにおける「%(パーセント)」は、除算の余りを返す算術演算子です。「モジュロ演算子」あるいは「剰余演算子」と呼ばれ、複素数を除く数値型(int型やfloat型など)のオペランドに対して使用できます。 割り算の結果そのものではなく、「割った後に余る値」を求めたい場合に使う演算子である点がポイントです。 基本的な使い方とコード例 以下は、整数と浮動小数点数に対して%演算子を使った実際の実行例です。 >>> a=10 >>> a%3 1 >>> a%5 0 >>> b=12.5 >&