Python の MySQL データベース LIKE 演算子の詳細な説明

Python の MySQL データベース LIKE 演算子の詳細な説明

LIKE 演算子は、列内の指定されたパターンを検索するため、WHERE 句で使用されます。

文法:

列名を選択
テーブル名から
WHERE 列名 LIKE パターン

パターンは指定されたテンプレートが配置される場所であり、ここではワイルドカードとしても知られる「%」を使用する必要があります。

条件の前に % を置くと、... で終わるデータが検索されます。例: %李

条件の後に % を置くと、... で始まるデータが検索されます。例: Li%

%条件の前後に存在する場合は、含まれるデータをチェックすることを意味します。例: %李%

ヒント:

エラー 1064 (42000): SQL 構文にエラーがあります。1 行目の '%z' 付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

エラー 1064 は、LIKE クエリを実行するときにワイルドカードの周囲に引用符がないために発生するため (構文エラー)、エラーが報告されます...

正しい表示例:「%李%」

例1: 端末はSQLを実行し、WHERE句でLIKEが使用される

住所がHangで始まる人の情報を照会する

ルート@7c6316b19d80:/#mysql -u ルート -p
パスワードを入力してください: 
MySQL モニターへようこそ。コマンドは ; または \g で終わります。
MySQL接続IDは140です
サーバーバージョン: 5.6.51 MySQL コミュニティサーバー (GPL)
 
mysql> select * from test_user where address like 'Hang%';
+----+---------+-------------+-----------+
| ID | 名前 | 携帯電話 | 住所 |
+----+---------+-------------+-----------+
| 3 | python | 18856565858 | 杭州 |
| 4 | java | 17756565858 | 杭州 |
| 5 | php | 15556565858 | 杭州 |
| 6 | c# | 17748484142 | 杭州 |
+----+---------+-------------+-----------+
セット内の 4 行 (0.00 秒)
マイSQL>

住所がuで終わる人の情報を照会する

mysql> test_user から * を選択します。アドレスは '%u' のような値になります。
+----+---------+-------------+-----------+
| ID | 名前 | 携帯電話 | 住所 |
+----+---------+-------------+-----------+
| 3 | python | 18856565858 | 杭州 |
| 4 | java | 17756565858 | 杭州 |
| 5 | php | 15556565858 | 杭州 |
| 6 | c# | 17748484142 | 杭州 |
+----+---------+-------------+-----------+
セット内の 4 行 (0.00 秒)
マイSQL>

例2: Pythonスクリプトを使用してLIKEを含むSQL文を実行する

住所に文字zが含まれる人の情報を照会する

pymysqlをインポートする
 
# データベースに接続する connection = pymysql.connect(host="localhost", user="root", password="123456",
                             データベース=「テスト」、ポート=3306、文字セット='utf8'、
                             カーソルクラス=pymysql.cursors.DictCursor)
 
試す:
    接続あり:
        connection.cursor() をカーソルとして使用:
            SQL = """
                選択
                    *
                から
                    テストユーザー
                どこ
                    アドレスは '%z%' のように動作します。
            「」
            カーソル.execute(sql)
            結果 = cursor.fetchall()
            i の結果:
                印刷(i)
 
pymysql.err.MySQLError を _error として除く:
    _error を発生させる
{'id': 3、'name': 'python'、'mobile': '18856565858'、'address': '杭州'}
{'id': 4、'name': 'java'、'mobile': '17756565858'、'address': '杭州'}
{'id': 5、'name': 'php'、'mobile': '15556565858'、'address': '杭州'}
{'id': 6、'name': 'c#'、'mobile': '17748484142'、'address': '杭州'}
 
プロセスは終了コード 0 で終了しました

住所に文字zが含まれていない人の情報を照会する

試す:
    接続あり:
        connection.cursor() をカーソルとして使用:
            SQL = """
                選択
                    *
                から
                    テストユーザー
                どこ
                    アドレスは '%z%' と異なります。
            「」
            カーソル.execute(sql)
            結果 = cursor.fetchall()
            i の結果:
                印刷(i)
 
pymysql.err.MySQLError を _error として除く:
    _error を発生させる
{'id': 1、'name': '张三三'、'mobile': '17748484141'、'address': '浙江杭州'}
{'id': 9、'name': '111'、'mobile': '18847474549'、'address': '浙江省杭州'}
 
プロセスは終了コード 0 で終了しました

この時点で、LIKE 演算子を使用したクエリは完了です...

写真

ナレッジポイント拡張: Python での MySQL データベースのようなファジークエリ

% は Python の特殊記号で、%s や %d などがあり、それぞれ文字列プレースホルダーと数値プレースホルダーを表します。

ご存知のとおり、MySQL のファジー クエリにも % が必要です。

したがって、最初にチェックする必要がある文字列を抽出し、それをパラメータとして渡すことができます。

引数 = '%'+サブタイトル+'%'
sqlQueryTitle="タイトルが '%s' のような tbl_peng_article から count(*) を選択"%args

Python での MySQL データベース LIKE 演算子の詳細な説明に関するこの記事はこれで終わりです。Python MySQL の like 演算子に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQLのlike演算子の詳細

<<:  docker の run/cmd/entrypoint の違いの詳細な説明

>>:  CSS スタイルが機能しない (史上最も完全な解決策の概要)

推薦する

Vue で v-if と v-for を一緒に使用することが推奨されない理由の詳細な説明

この記事では主に、v-if と v-for を一緒に使用することが推奨されない理由を紹介します。詳細...

Linuxにおけるselinuxの基本設定チュートリアルの詳細な説明

selinux ( Security-Enhanced Linux)は、Linux カーネル モジュ...

WEB 標準ウェブページ構造

背景画像でも、ページ上のテキストサイズでも、1 ピクセルの違いは非常に明白です。そして、私は学生時代...

jsシミュレーションでJingdongの詳細ページで画像を拡大する効果を実現

この記事では、Jingdongの詳細ページの画像の拡大を実現するためのjsの具体的なコードを紹介しま...

MySQL に接続されている IP アドレスを表示する方法の例

具体的な方法:まずコマンドプロンプトを開きます。次に、[ mysql -u root -p ] コマ...

HTML ページ ソース コード レイアウトの概要_Powernode Java Academy

HTML ページ ソース コード レイアウトの概要この紹介では、Google のホームページのソー...

MySQLインデックスが失敗するいくつかの状況の詳細な分析

1. 先頭のあいまいクエリではインデックスを使用できません (「%XX」や「%XX%」など)コード値...

シンプルなウェブデザインコンセプトのカラーマッチング

(I)ウェブページのカラーマッチングの基本概念(1)白黒の言葉は永遠のテーマです。誰もそれを悪く言う...

将来人気が出るであろういくつかのナビゲーション方向

<br />今は情報爆発の時代であるだけでなく、サービス爆発の時代でもあります。それはす...

SQLで同じフィールドの異なる値のデータ統計を実行する

適用シナリオ: シールのさまざまな状態に応じて、さまざまな状態のシールの数をカウントする必要がありま...

Reactホームページの読み込みが遅い問題のパフォーマンス最適化事例の詳細な説明

しばらくReactを勉強した後、実践してみたいと思います。そこで、個人のブログのウェブサイトを再構築...

JavaScript を使用してページ要素のオフセットを取得/計算する方法

質問コントロールをクリックすると、コントロールの下にフローティング レイヤーが表示されます。通常の方...

MYSQLストアドプロシージャコメントの詳細な説明

目次1. 使用方法2. 準備3. 文法3.1 変数と代入3.2 入力および出力パラメータ3.3 プロ...

MySQL カーソルの原理と使用例の分析

この記事では、例を使用して MySQL カーソルの原理と使用方法を説明します。ご参考までに、詳細は以...