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は書籍ショッピングカートの機能を実現

この記事の例では、書籍ショッピングカート機能を実現するためのVueの具体的なコードを参考までに共有し...

Vue+nodeはオーディオ録音・再生機能を実現

結果: コードロジックを実装するのが主な部分であり、具体的なページ構造を一つ一つ紹介することはありま...

MySQL を使用して Excel でデータ生成を完了する方法

Excel は、データ分析に最もよく使用されるツールです。この記事では、MySQL と Excel ...

デザイン理論: なぜ私たちは間違った場所を見ているのでしょうか?

数日前、バスで仕事に行きました。バスのカードリーダーの実際の使用シーンを実際に見て、カードリーダーの...

更新SQL文に基づくMySQLロックの理解

序文MySQL データベース ロックは、データの一貫性を実現し、同時実行性の問題を解決するための重要...

JSは賞金の重さに基づいて当選確率を計算します

目次1. シナリオ例1.1. 抽選の賞品名を設定する1.2. 各賞の重みを設定する1.3. ラッキー...

MySQL のバイナリおよび varbinary データ型の詳細な説明

序文BINARY と VARBINARY は、文字列ではなくバイナリ文字列を格納する点を除いて、CH...

Linux exa コマンド (ls よりも優れたファイル表示エクスペリエンス)

インストールREADMEに従ってインストールしてくださいドキュメントには、exa は Rust で実...

Vue+Openlayer をベースに geojson を動的に読み込む方法

1つ以上の機能をロードする <テンプレート> <div id="map&...

高性能な HTML アプリケーションを作成するためのヒント

Web ページのパフォーマンスを向上させるにはどうすればよいでしょうか?ほとんどの開発者は、Java...

個人ブログシステムを構築するためのDockerの超シンプルな実装

Dockerをインストールするyumパッケージを最新バージョンに更新します: sudo yum up...

SpringBoot + Vue プロジェクトを Linux サーバーにデプロイするための詳細なチュートリアル

序文SpringBoot + Vueのフロントエンドとバックエンドを分離したプロジェクトをどのように...

MySQL 5.7 のインストールと設定方法のグラフィックチュートリアル

このチュートリアルでは、MySQL 5.7のインストールと設定方法を参考までに紹介します。具体的な内...

WeChatアプレットにおけるデータ保存実装方法

目次グローバル変数 globalDataページプライベート変数データストレージ非同期ストレージ(デバ...

MySQL フルテキスト インデックス、ジョイント インデックス、Like クエリ、JSON クエリのうち、どれが高速ですか?

目次クエリの背景1. クエリをいいね2. JSON関数クエリ3. 共同インデックスクエリ4. 全文イ...