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 スタイルが機能しない (史上最も完全な解決策の概要)

推薦する

Docker で Springboot プロジェクトを実行する実装

導入: springboot プロジェクトを実行する Docker の構成は実は非常にシンプルで、L...

CSS マルチカラムレイアウトソリューション

1. 固定幅+適応型期待される効果: 左側は固定幅、右側は適応幅 共通コード: html: <...

vue.config.js からプロジェクト最適化までの vue2.x 構成

目次序文vue.config.js 構成オプションパッケージサイズを縮小するためのパッケージの最適化...

HTML 挿入画像の例 (HTML 追加画像)

HTML に画像を挿入するには、画像を表示するための HTML タグが必要です。これは、img タ...

MySQL を暗号化および復号化するいくつかの方法 (要約)

目次前面に書かれた双方向暗号化エンコード/デコードAES_ENCRYPT/AES_DECRYPT D...

MySQL 5.7.21 のインストールとパスワード設定のチュートリアル

MySQL5.7.21のインストールとパスワード設定のチュートリアルは次のとおりです。公式リファレン...

ReactとReduxの配列処理の説明

この記事では、reduce()、filter()、map()、every()、some()、spre...

ボタンのタイプが送信として指定されていません。ボタンをクリックしても、指定された URL にジャンプしません。

現在、プロジェクトの要件により、フォームの送信を制御し、送信前にデータを検証および処理するために j...

cobbler ベースの Linux システムを自動的にインストールする

1. コンポーネントをインストールする yum install epel-rpm-macros.no...

HTML と埋め込み Flash の両方におけるスクロールバーの分析と処理

開発を行う際に、次のような状況に遭遇することがよくあります。 a.swf が Web ページに追加さ...

Tomcatのデフォルトパスの設定によって発生するプロジェクトURLの競合を解決する方法の詳細な説明

序文Tomcat は優れた Java コンテナですが、避けられない小さな落とし穴もいくつかあります。...

HTML コマンドラインインターフェースの実装

HTML部分コードをコピーコードは次のとおりです。 <!DOCTYPE html> &l...

Win10 システムに MySQL8.0.13 をインストールする際の問題と解決策

オペレーティングシステム: Windows10 MySQL バージョン: 8.0.13-winx64...

HTMLハイパーリンクaタグのhrefジャンプとonclick間の実行順序の例

HTMLハイパーリンクaタグのhrefジャンプとonclickの実行関係htmlのaタグのhrefは...

CSS3 天子グリッドリストのスタイルの書き方

多くのプロジェクトでは、中央に灰色の分割線があり、両側に分割線がないグリッド表示の機能を実装する必要...